入出力ファイルについて調べています。以下のコードは、fgetc()、fgets()、fputs() などの関数に関連しています。思い通りに動かない理由がわかりません。どうもありがとうございました。以下は私のコードです:
#include <stdio.h>
int main()
{
FILE *fp; //FILE type pointer
int c; //using to get each character from file
char buffer [256]; //array as buffer to archive string
fp = fopen("file.txt", "r"); /*open a file with only read mode*/
if( fp == NULL )
{
perror("Error in opening file");
return(-1);
}
while(!feof(fp)) /*check if has not yet reached to end of file*/
{
c = getc (fp); //get a character from fp
if( c == '!' )
{
ungetc ('+', fp); //replace '!' by '+'
}
else
{
ungetc(c, fp); //no change
}
fgets(buffer,255,fp);//push string of fp to buffer
fputs(buffer, stdout); //outputting string from buffer to stdout
}
return(0);
}