怎么在c语言中,只用fgets函数读入一个整数,假设它占据单独的一行,读到行末为止,包括换行符,

输入保证读入的整数可以保存在int 中,

#include "stdio.h"
#include "string.h"
void main()
{
int n;
FILE *fin;
char s[25];
fin=fopen("c:\\a.txt","r");
fgets(s,25,fin);/*用fgets读第一行到数组s中*/
n=strlen(s);
fseek(fin,n+1,SEEK_SET);/*将文件指针移到下一行*/
fgets(s,25,fin);/*读取第二行的字符串*/
printf("%s",s);
}
这个是我写的一个,如果你想读到第n行的话,用一个for循环控制使文件指针移到第n行就行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-06

fgets是用来读字符串的. 

要读整数,需要用scanf("%d",&n);

一定要用fgets, 可以

char buf[20];
fgets(buf, 20, stdin);

但是得到的是字符串.转为整数还需要

sscanf(buf, "%d", &n);

相似回答