| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖, 1 人收藏
标题:求助:文本读取中强行换行.
只看楼主 加入收藏
xiongbo595
该用户已被删除
收藏(1)
已结贴  问题点数:20 回复次数:4 
求助:文本读取中强行换行.
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 文本 
2010-04-27 22:30
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:10 
1.
int ch;
scanf("%lf%lf%lf%lf", ...);
while ((ch = getchar()) != '\n' && ch != EOF))
    ;
一般情况下不提倡getchar和scanf的混用,除非你完全弄清楚了stdio的缓存逻辑。或者可以这样:
fgets(buf, BUFSIZE, stdin);
sscanf("%lf%lf%lf%lf", ...);

2. 不一定,这种情况下,最好使用动态分配的数组,在长度超过的时候,以长度*2分配新的数组然后复制之,可以证明每个元素至多被均摊复制一次。

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-04-27 22:36
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:10 
为什么你一定要转行了 这样做很费资源的  你还不如一次读一行,只需要前面4列值就行了 后面的就直接丢弃,然后再读下一行就行
while( feof( pf ) != EOF )
{
fscanf( pf, "%f%f%f%f", 结构体变量名.元素1,结构体变量名.元素2,结构体变量名.元素3,结构体变量名.元素4);
fgets( str, 1000, pf );
}
2010-04-27 22:58
xiongbo595
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-28 10:59
xiongbo595
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-28 11:42
快速回复:求助:文本读取中强行换行.
数据加载中...
 
   



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

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