每次用fgets读取整行,然后扫描一遍,看看逗号数量是不是足够一个完整结构体了。如果不够,继续fgets,注...
所有都是都在一行,均为int型且都用逗号分隔 或者即使有换行,那么换行前最后一个数据后面仍有逗号分隔。也就是说,任意两个有效数据之间有且只有一个逗号分隔。那么可以循环调用 scanf("%d,",&v);来依次把数据读到v中并处理。例二:文件有多行,每行依次为int, double,char的格式,且每行结尾的...
int a1,a2,a3,a4,a5,a6 scanf("%d,%d,%d,%d,%d,%d", &a1,&a2,&a3,&a4,&a5,&a6);如果不是固定的个数,就需要有个数组用来遍历。int a[100]; // 最大100个数 int tmp = 0; // 假设-99表示结束输入 int i = 0;while ( (i < 100) && (tmp != -99)){ if (scanf(...
要有逗号,就全加逗号,2,1,34,2,3,1,400,5,3,5,6,7,读:for (j=0;j<NR;j++)for (i=0;i<NC;i++)fscanf(fin,"%d,",a[j][i]);--- 如果行尾无逗号,每行数据的个数应相等:2,1,34,2 3,1,400,5 for (j=0;j<NR;j++){ for (i=0;i<NC-1;i++)...
可以,但是输入数据的时候一定也要加上逗号。用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应,比如说:1、scanf("%d,%d",&a,&b);因为两个%d之间有一个逗号,所以在输入时两个整数之间只能用逗号分隔,如果用其它符号分隔就会出错(比如说此时用空格、回车分隔就会出错)2、...
使用正则表达式 fscanf(fp,"%*[^0-9]%d",&a[i]);
先将所有的读进来存在一个字符串中,然后用字符分割函数strtok()//具体可参见API 例如:char str[] = "now # is the time for all # good men to come to the # aid of their country";char delims[] = "#";char *result = NULL;result = strtok( str, delims );while( result != ...
第三个 scanf() 的控制字符串为"%d, %d, %d",中间以逗号分隔,所以输入的整数也要以逗号分隔。 第四个 scanf() 要求整数之间以is bigger than分隔。 用户每次按下回车键,程序就会认为完成了一次输入操作,scanf() 开始读取用户输入的内容,并根据格式控制字符串从...
include<stdio.h>int main(int argc, char const *argv[]){ int a[100],cnt,n,i;cnt=0;printf("input\n");while(scanf("%d",a+cnt))cnt++;getchar();//跳过一个字符scanf("%d",&n);for (i = 0; i < cnt; ++i){printf("%d ",a[i] );}printf("\n%d\n",n );} ...