通过C中的特定方式读取和更改文件信息



我想从文件中读取信息并更改它。。。例如,我有以下数据:

city dog name house 4ever
cat 2man tree five 

必须只留下一个基于字符的单词(不能是数字)。

我知道如何读取文件,但我不知道如何更改任何内容这是我的代码读取文件:

代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
   char ch;
   FILE *file;
   file = fopen("testfile.txt", "r"); // read mode
   if( file == NULL )
   {
      perror("Klaida. Failo negalima atidaryti.n");
      exit(EXIT_FAILURE);
   }
   printf("Failo duomynys yra:n");
   while( ( ch = fgetc(file) ) != EOF )
      printf("%c",ch);
   fclose(file);
   return 0;
}

我强烈建议您使用unistd.h标头中的read/write。你在这里选择的方法很。。。原始的不管怎样,以下是你应该怎么做:

#include <stdio.h>
#include <stdlib.h>
int main()
{
   char ch;
   FILE *file;
   FILE *file_write;
   file = fopen("testfile.txt", "r"); // read mode
   file_write = fopen("testfile_write.txt", "w");
   if( file == NULL )
   {
      perror("Klaida. Failo negalima atidaryti.n");
      exit(EXIT_FAILURE);
   }
   printf("Failo duomynys yra:n");
   while( ( ch = fgetc(file) ) != EOF ) {
        if (ch == '4') {
                fputc('f', file_write);
                fputc('o', file_write);
                fputc('u', file_write);
                fputc('r', file_write);
        }
        else if (ch == '2') {
                fputc('t', file_write);
                fputc('w', file_write); 
                fputc('o', file_write);
        }
        else 
                fputc(ch, file_write);
   }
   fclose(file);
   return 0;
}

相关内容

  • 没有找到相关文章

最新更新