如何用C语言每行显示一个单词的全文?

首先,以写入模式打开文件。稍后,输入文本,直到到达文件结尾(EOF),即按ctrlZ关闭文件。

同样,以读取模式打开。然后,从文件中读取单词,并在单独的行中打印每个单词,然后关闭文件。

我们实现的每行打印一个单词的逻辑如下-

while ((ch=getc(fp))!=EOF){
   if(fp){
      char word[100];
      while(fscanf(fp,"%s",word)!=EOF) // 从文件中读取单词{
         printf("%s\n", word); // 在单独的行上打印每个单词。
      }
      fclose(fp); // 关闭文件。
   }
}

示例

以下是C程序,每行显示一个单词的全文-

#include<stdio.h>
int main(){
   char ch;
   FILE *fp;
   fp=fopen("file.txt","w"); //以写入模式打开文件
   printf("enter the text then press cntrl Z:\n");
   while((ch = getchar())!=EOF){
      putc(ch,fp);
   }
   fclose(fp);
   fp=fopen("file.txt","r");
   printf("text on the file:\n");
   while ((ch=getc(fp))!=EOF){
      if(fp){
         char word[100];
         while(fscanf(fp,"%s",word)!=EOF) // 从文件中读取单词{
            printf("%s\n", word); // 在单独的行上打印每个单词。
         }
         fclose(fp); // 关闭文件。
      }Else{
         printf("file doesnot exist");
         // 然后告诉用户该文件不存在。
      }
   }
   return 0;
}
输出结果

执行以上程序后,将产生以下结果-

enter the text then press ctrl Z:
Hi Hello Welcome To My World
^Z
text on the file:
Hi
Hello
Welcome
To
My
World