c语言 如何读取txt文件中的数据到一个数组并跳过逗号?

比如txt的内容如下:
56,45,433,5
23,4,54,34
我想把这些数据放在一个2x4的数组里,代码应该怎么写?

已经调好:

(思路是,把多余的那个逗号或者换行符按%c的方式读到junk里)

#include <stdio.h>
int main()
{
int a[2][4];
char junk;
int i,j;
FILE * fp;
fp=fopen("filename.txt","r");
for (i=0;i<2;i++)
for (j=0;j<4;j++)
fscanf(fp,"%d%c",&a[i][j],&junk);
fclose(fp);
//your code
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-01
可以使用sscanf或fscanf读入.
sscanf是string scan function, 字符串输入函数.
fscanf是file scan fuction, 文件输入函数.
如果你已经把文件的内容读入到字符串, 就用sscanf, 否则就用fscanf.
sscanf, fscanf与scanf的用法完全一样, 只是它们多了一个参数, 即流.
以sscanf为例, 要跳过逗号, 只需要这样写: sscanf(str, "%s,%s,%s", str1, str2, str3);
这样它读入字符串的时候就会把逗号当作分隔符.
第2个回答  2013-07-15
读取整行,再调用strtok()函数,这种方法通用性较强,无论什么标点都可以处理
第3个回答  2013-07-15
首先全部读到字符数组中
可以参照 http://zhidao.baidu.com/question/212263297.html
假设保存的收指针 char * pch;
while(*pch!='\0'){
long t=strtol(pch,&pch,10);
// http://baike.baidu.com/view/1874375.htm
//处理t
while((*pch<'0'||*pch.'9')&&*pch!='-'&&*pch!='\0')++pch;
//其实你这只要 ++phc; 就好了
}

//这至少可以得到一个一维数组

c语言 如何读取txt文件中的数据到一个数组并跳过逗号?
(思路是,把多余的那个逗号或者换行符按%c的方式读到junk里)include <stdio.h>int main(){int a[2][4];char junk;int i,j;FILE * fp;fp=fopen("filename.txt","r");for (i=0;i<2;i++)for (j=0;j<4;j++)fscanf(fp,"%d%c",&a[i][j],&junk);fclose(fp);\/\/your co...

c语言如何读取txt内容到数组?
一、编程思路。1 以文本方式打开文件。2 循环用fscanf格式化输入数据到数组。3 判断fscanf的返回值,如果显示到达文件结尾,退出输入。4 关闭文件。5 使用数据。二、代码实现。设定文件名为in.txt, 存有一系列整型数据,以空格或换行分隔。代码可以写作:include <stdio.h>int main(){ int v[100]...

如何用C语言读取txt文件中的数据到程序的数组中?
fin = fopen("abc.txt","r"); \/\/ 打开文件,按读的方式打开 for (i=0;i<50;i++)fscanf(fin,"%d %d", &a[i][0], &a[i][1]); \/\/ 循环读 fclose(fin); \/\/关闭文件 for (i=0;i<50;i++) printf("%d %d\\n",a[i][0],a[i][1]); \/\/输出来看看 return 0...

c语言程序 从数据文件中读入数据到数组
1、首先让我们新建一个Class类。2、书写Main方法。3、让我们在C盘根目录下新建一个txt文档,内容为‘test’。4、然后让我们接着写代码,首先创建一个File对象。5、然后创建一个StringBuilder对象,用于储存读取的内容。6、接下来,我们用BufferedReader类来进行读取内容了。7、然后我们将内容来输入到控制...

C语言读取txt文件中的数到数组?
if((fp=fopen("D:\\\\123.txt","r"))==NULL)\/\/判断文件是否打开成功 {\/\/读取D盘下,名为123的文本文件 printf("文件打开失败\\n");exit(0);} else printf("文件打开成功\\n");double a[N];for(int i=0;i<5;i++)\/\/读取五个浮点型数据 fscanf(fp,"%lf,",&a[i]);\/\/fscanf函数...

C语言逐行读取txt中的数据,并保存到数组中
FILE *fin = fopen("file.txt", "r"); \/*假设文件名为file.txt*\/ int a[100], i; for (i = 0; i < 100; i++) { fscanf(fin, "%d", &a[i]); } fclose(fin); \/*此时已经读取完毕,可以进行接下来的处理了*\/ return 0;} ...

c语言入门代码009 从 txt 文本文件中加载数据到结构体数组
第一步,通过fopen函数以读取模式打开文件,准备从文件头部获取数据。第二步,文件中逐个读取结构体字段,并将数据保存到数组中,直到文件结尾。feof函数用于检测文件是否达到末尾,判断是否需要结束循环。在读取数据时,使用fscanf函数,与scanf相似,但添加了文件指针参数,用于在文件内容中执行读取操作。数据...

C语言中从.txt文件中按行读取字符串至数组中,怎么写?
int v[100];\/\/开一个足够大的数组。int i = 0, j;FILE *fp;\/\/文件指针 fp = fopen("in.txt", "r");\/\/以文本方式打开文件。if(fp == NULL) \/\/打开文件出错。return -1;while(fscanf(fp, "%d", &v[i]) != EOF) \/\/读取数据到数组,直到文件结尾(返回EOF)i++;fclose(fp...

如何将txt文件中的学生信息读取到结构体数组中,C语言
FILE *fp;printf("请输入文件名,路径:"); \/\/打开txt文件scanf("%s",filename);if((fp = fopen(filename,"r")) == NULL) {fprintf(stderr,"%s 文件打开失败!\\n",filename);exit(0); } for(int i=0; i<12; i++) \/\/循环读取{ fscanf(fp,"%s%s%f",StuInfo[i].I...

C语言如何读取txt文本里面的内容?
C语言可以使用fopen()函数读取txt文本里。示例:include <stdio.h> FILE *stream, *stream2;void main( void ){ int numclosed;\/* Open for read (will fail if file "data" does not exist) *\/ if( (stream = fopen( "data", "r" )) == NULL )printf( "The file 'data' was...

相似回答