| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 890 人关注过本帖
标题:关于fscanf函数的疑问
只看楼主 加入收藏
校草
Rank: 1
等 级:新手上路
帖 子:50
专家分:7
注 册:2017-3-15
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:8 
关于fscanf函数的疑问
0 1 2 3
4 5 6 7
//text1
如果我想把上述这样的数据读入一个a[2][4]中的数组该怎么做呢?

int a[2][4];
fscanf(text1,"%d",a);
?但好像行不通。。。
2017-04-06 22:04
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:10 
回复 楼主 校草
先要搞清楚读取文件结构~
最好保存方法和读取方法保持一致~

如果是先自己在文件里面敲数据再读取就可能出现格式问题~这个要格外注意~

还要看看文本格式~
如果是二进制文本则保存方法和读取方法保持一致就行了~
如果是ASCII格式~则要注意里面的字符是否用空格隔开~如果有空格和换行符~则要把空格和换行符读入一个缓冲区里面进行缓冲处理~

或者~试试用文件指针偏移量或者按字节块读入来获取数据位置~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-04-06 22:16
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:10 
fscanf(fp, "%d %d %d %d", &a[0][0],  &a[0][1],  &a[0][2],  &a[0][3]);
fscanf(fp, "%d %d %d %d", &a[1][0],  &a[1][1],  &a[1][2],  &a[1][3]);
2017-04-06 23:09
校草
Rank: 1
等 级:新手上路
帖 子:50
专家分:7
注 册:2017-3-15
收藏
得分:0 
回复 3楼 烟雨晨曦
谢谢你的回复,不过这只是个小例子,如果我要处理一个a[50][50]的数组或者更大的好像这种方法就有些不好,请问层主有没有更好的处理方式?
2017-04-07 12:59
校草
Rank: 1
等 级:新手上路
帖 子:50
专家分:7
注 册:2017-3-15
收藏
得分:0 
回复 2楼 九转星河
以下是引用九转星河在2017-4-6 22:16:51的发言:
如果有空格和换行符~则要把空格和换行符读入一个缓冲区里面进行缓冲处理~



或者~试试用文件指针偏移量或者按字节块读入来获取数据位置~

谢谢解答~,不过有两个疑问:
第一句话,没懂。。如果可以的话请举个小例子帮助理解~
第二句话,也是不懂,就以上面的数据为例,要如何读入呢?可不可也举个例子~
2017-04-07 13:03
校草
Rank: 1
等 级:新手上路
帖 子:50
专家分:7
注 册:2017-3-15
收藏
得分:0 
回复 2楼 九转星河
0(空格)1(空格)2(空格)3(回车)
4(空格)5(空格)6(空格)7(回车)
2017-04-07 13:11
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 5楼 校草
这个感觉没啥好说~真的有不懂的可以去看看书查查资料~实在不懂的可以先放放~感觉你提供的文本内容应该是用ASCII格式~这样自己先试试逐个逐个数据读入~弄多几次慢慢理解就可以了~
本来还打算讲具体一点~但感觉自己很久没接触文件操作方面的内容了~有种言多必失的感觉~还是先自己看看书弄弄看吧~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-04-07 13:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 6楼 校草
这样啊~可以用三楼的代码试试~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-04-07 13:14
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:0 
回复 4楼 校草
循环读取文本不就行了
2017-04-07 14:21
快速回复:关于fscanf函数的疑问
数据加载中...
 
   



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

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