展开全部
以下程序实现输入文件名, 按行读文件, 并输出.
int main()
{
FILE *fp;
char name[100];
char buf[1024];
scanf("%s",name);
fp=fopen(name, "r");
if(fp == NULL)
printf("open file failed\n");
else
{
while(fgets(buf, fp) != NULL)
printf("%s", buf);
}
fclose(fp);
return 0;
}
除了按行读取外, 还可以单个字符读取 fgetc, 格式化读取fscanf.
用法类似于getchar和scanf
更多追问追答
追问
请问单个字符读取就是把fopen 换成fgetc就可以了吗?
追答
单个字符指的是读取. 也就是替换fgets
代码可以写作
int main()
{
FILE *fp;
char name[100];
int c;//
scanf("%s",name);
fp=fopen(name, "r");
if(fp == NULL)
printf("open file failed\n");
else
{
while((c=fgetc(fp)) != EOF)//
putchar(c);//
}
fclose(fp);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |