| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:C语言文件的输入问题
只看楼主 加入收藏
macwind
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-3
结帖率:100%
收藏
 问题点数:0 回复次数:7 
C语言文件的输入问题
个问题我感觉应该很简单,但是鄙人C语言没学好,麻烦会的朋友帮帮忙。

我想将一个文件里的数据输入到一个数组里,请问应该怎么编写程序?
数组设定为二维数组a[4][8],要将文件里的数据分别赋予数组,比如说文件里的第一组数据是:2003001 10 11 12 13 26 28 11 ,要将2003001赋予a[0][0],10赋予a[0][1],11赋予a[0][2],12赋予a[0][3],13赋予a[0][4],26赋予a[0][5],28赋予a[0][6],11赋予a[0][7]。如此下去,直至将文件里的所有数据输入相应的数组里去。

文件里的数据格式是:
2003001 10 11 12 13 26 28 11
2003002 04 09 19 20 21 26 12
2003003 01 07 10 23 28 32 16
2003004 04 06 07 10 13 25 03
文件地址及名称为:C:\\TURBOC2\\SSQ\\G\\gx.dat


[ 本帖最后由 macwind 于 2010-3-3 20:24 编辑 ]
搜索更多相关主题的帖子: 输入 文件 C语言 
2010-03-03 18:36
psv
Rank: 2
等 级:论坛游民
帖 子:21
专家分:54
注 册:2010-3-3
收藏
得分:0 
一个循环 + 对空格/换行的判断,特别要注意的是WIN中的换行不是\n
2010-03-03 20:45
macwind
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-3
收藏
得分:0 
回复 2楼 psv
能不能写段具体的代码?谢谢
2010-03-03 21:00
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
首先要确定数组变量 我先提示你一下 用for循环 和scanf()输入到数组里  自己多看看书

Discuz!  
好好学习  天天向上
2010-03-03 22:32
macwind
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-3
收藏
得分:0 
回复 4楼 qq8801103
我编了段代码你帮我看看,运行不出来,是什么原因?

#include <stdio.h>

int main(void)
{
 FILE *fp=fopen("C:\\TURBOC2\\SSQ\\G\\gx.dat","r");  /*打开文件*/
 long int a[4][8];
 int i,j;
 for (i = 0; i<4; i++) {               /*从文件中将数据读取到长整型数组a中*/
  for (j=0; j<8; j++) {
   fscanf(fp,"%ld",&a[i][j]);
  }
 }
 fclose(fp);                          /*关闭文件*/
 for (i = 0; i<4; i++) {              /*输出数组a的元素*/
  for (j=0; j<8; j++) {
   printf("%3ld ",a[i][j]);
  }
  putchar('\n');
 }
 return 0;
}
2010-03-03 22:49
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
你想得到什么样的结果

Discuz!  
好好学习  天天向上
2010-03-03 23:05
macwind
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-3-3
收藏
得分:0 
回复 6楼 qq8801103
就是文件里的数据逐个输入到数组里,
比如说文件里的第一组数据是:2003001 10 11 12 13 26 28 11 ,要将2003001输入到a[0][0],10输入到a[0][1],11输入到a[0][2],12输入到a[0][3],13输入到a[0][4],26输入到a[0][5],28输入到a[0][6],11输入到a[0][7],
将第二组数据“2003002 04 09 19 20 21 26 12 ”中的2003002输入到a[1][0],04输入到a[1][1],09输入到a[1][2],19输入到a[1][3],20输入到a[1][4],21输入到a[1][5],26输入到a[1][6],12输入到a[1][7]。。。。一直到文件里的所有数据都输入到数组a[4][8]里,然后将a[4][8]里的数据按照文件里的数据格式打印到屏幕上。

文件里的数据为:
2003001 10 11 12 13 26 28 11
2003002 04 09 19 20 21 26 12
2003003 01 07 10 23 28 32 16
2003004 04 06 07 10 13 25 03

我编了好几段代码了,都运行不了,麻烦你会的帮帮忙,非常感谢!!!
2010-03-03 23:41
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
我也没办法  我的二维数组我学的也不好

Discuz!  
好好学习  天天向上
2010-03-04 11:43
快速回复:C语言文件的输入问题
数据加载中...
 
   



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

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