Я делаю упражнение о чтении символа из файла, затем преобразовываю его в верхний регистр и записываю в файл и показываю результат. Поэтому, когда я запускаю программу, она должна отображать весь мой текст в моем файле в верхнем регистре , но когда я запускаю программу, она отображает только последнюю строку текста (последнюю новую строку) в верхнем регистре. Поэтому я проверяю мой файл, и он все еще содержит весь мой текст, причем все в верхнем регистре.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
FILE * readFile = NULL;
FILE * writeFile = NULL;
readFile = fopen ("original.txt","r");
writeFile = fopen ("temporary.txt","w");
char inFile = ' ' ;
if(readFile == NULL){
printf("Error opening original file\n\n");
return -1;
}
if(writeFile == NULL){
printf("Error creating temporary file ");
return -1;
}
while ((inFile = fgetc(readFile)) != EOF){
if (islower(inFile))
{
inFile = inFile -32;
}
fputc(inFile, writeFile);
}
fclose(readFile);
readFile = NULL;
fclose(writeFile);
writeFile = NULL;
//Rename and Remove
remove("original.txt");
rename("temporary.txt","original.txt");
remove("temporary.txt");
readFile = fopen("original.txt","r");
if (readFile == NULL){
printf("Error opening file 2");
return -1;
}
while ((inFile =fgetc(readFile)) != EOF){
printf("%c",inFile);
}
fclose (readFile);
readFile = NULL;
return 0;
}