[英]Read and change file information by specific way in 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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.