C程序,如何从指定文件中读取一个字符串?

Python013

C程序,如何从指定文件中读取一个字符串?,第1张

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fp

char cl[100]

if((fp=fopen("1.txt","r"))==NULL)

exit(1)

while(fscanf(fp,"%s",cl)==1)

printf("%s  \n",cl)

if(fclose(fp)!=0)

exit(1)

return 0

}

C语言是目前世界上流行、使用最广泛的面向过程的高级程序设计语言。 C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

所谓的某行你没有给出确切的定义,通常读文件采用的方法是将文件内容的全部,或者部分保存在缓存中,如果你是想读取第几行,那么就可以使用字符指针,寻找缓存中的'\n',并进行计数,找到想要的行。

如果想读取的是某个关键字所在的行,同样是可以使用字符指针,使用strncmp方法寻找关键字所在的位置,或者直接使用strstr方法查找。

需求不明确的时候不容易确定最佳的查找方式。

运算符优先级的问题:

while((c=fgetc(p)!=eof))

被解释成:

while(c=(fgetc(p)!=eof)),

c被赋值为(fgetc(p)!=eof)这个逻辑值了,所以不管文本里的内容是什么,都会在文件指针未指向文件结尾时打印ascii码为1的字符(因为fgetc(p)!=eof为真),也就是那个笑脸,到文件结尾时fgetc(p)!=eof为假

c

=

0才退出循环。改动很简单,加个括号防止fgetc(p)先和!=eof结合就行了:while((c=fgetc(p))!=eof)