| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1591 人关注过本帖
标题:c语言文本操作问题fgetc与fgets
只看楼主 加入收藏
gtrmao
Rank: 2
等 级:论坛游民
帖 子:38
专家分:32
注 册:2011-10-24
结帖率:75%
收藏
 问题点数:0 回复次数:2 
c语言文本操作问题fgetc与fgets
我想要将一个文件中的数据复制到数组中,再把数组的内容给另一文件。要求(文件中的内容如22223|aaaa|22222)最后输出到另以文件时要求为
22223 aaaaa
22222
所以我想用fgets来读取字符串,但是无法确定‘|’,用fgetc来一个个读,但无法放入数组。所以求高手解答。要则么处理。
搜索更多相关主题的帖子: c语言 字符串 
2011-11-01 10:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你看得懂自己写的东西吗?我是看不懂了。

授人以渔,不授人以鱼。
2011-11-01 19:51
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
可以考虑用fscanf,需要注意的是%s会把"|"读取进字符串,所以需要用特殊的格式如
int a,c;
char b[10];
fscanf(fp,"%d|%[^|]|%d", &a, b, &c);

如果你要用fgets
那么你可以保存每行内容的字符串用sscanf来用类似上面的方法处理。
如果用fgetc来做的话,可以记录读取的偏移量i,然后通过str+i的方式进行处理
还可以用2个指针标记位置,2个指针之差作为memcpy拷贝的长度来处理。
例如 memcpy(dest, top, ptr - top);
这种方法具体要细写代码
2011-11-02 01:15
快速回复:c语言文本操作问题fgetc与fgets
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021335 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved