我想从文件中读取信息并更改它。。。例如,我有以下数据:
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;
}