C语言 fscanf语句读取文件时怎么换行?
比如要在文本文件中读取一些数据,其存放格式如下:first123second124third125用fscanf语句读取时怎么换行读取啊?比如用这句就可以读取全部数据吗?...
比如要在文本文件中读取一些数据,其存放格式如下:
first 123
second 124
third 125
用fscanf语句读取时怎么换行读取啊?
比如用这句就可以读取全部数据吗?
char * s[10];int m;
while(!feof(fp))
fscanf(fp,"%s %d",s,m); 展开
first 123
second 124
third 125
用fscanf语句读取时怎么换行读取啊?
比如用这句就可以读取全部数据吗?
char * s[10];int m;
while(!feof(fp))
fscanf(fp,"%s %d",s,m); 展开
3个回答
展开全部
fscanf()和scanf()一样,都是以白字符(<space>、<Tab>和<Enter>)作为分隔符的,就是说,当读到白字符时,就结束当前数据的读入,并将下一个数据赋给下一个变量。白字符不会当作数据的一部分赋给变量,而会被舍弃,但最后一个白字符会被保留在源数据流中。
例如
char s[20];
int a,b,c;
数据文件中的数据是:
John 89 99 70<CR>
Jeo 78 99 69<CR>
用fscanf(infp,"%s%d%d%d",s,&a,&b,&c);读取时,"John"复制到s,98赋给a,99赋给b,70赋给c,最后的<CR>会保留在文件中,当下一个scanf()函数再行读入时,首先碰到<CR>,这个<CR>会被读出并丢弃,即使有多个白字符也同样被丢弃,直到读到有效数据。
例如
char s[20];
int a,b,c;
数据文件中的数据是:
John 89 99 70<CR>
Jeo 78 99 69<CR>
用fscanf(infp,"%s%d%d%d",s,&a,&b,&c);读取时,"John"复制到s,98赋给a,99赋给b,70赋给c,最后的<CR>会保留在文件中,当下一个scanf()函数再行读入时,首先碰到<CR>,这个<CR>会被读出并丢弃,即使有多个白字符也同样被丢弃,直到读到有效数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询