.txt 파일에 쓰는 간단한 프로그램을 만들려고하지만이 코드는 작동하지 않습니다.fprintf가 작동하지 않습니다. C
#include <stdio.h>
#include <string.h>
#include "main.h"
int main(int argc, const char * argv[])
{
FILE *f = fopen("text.txt", "w+");
char c[256];
printf("What's your name?\n");
scanf("%s", c);
fflush(f);
if (c!=NULL)
{
printf("not null\n");
int q = fprintf(f, "%s", c);
printf("%d", q);
}
else
{
printf("null\n");
}
printf("Hello, %s\n", c);
fclose(f);
return 0;
}
null가 아니다 있다는 printf
반환하고, 문자의 길이가 무엇이든 int q
돌아갑니다. 이 파일에 쓰지 않는 이유는 무엇입니까?
Microsoft Visual C++에서 프로그램을 사용해 보았지만 정상적으로 작동했습니다. 작업 디렉토리에서 text.txt 파일을 관찰합니다. 환경에 대한 자세한 정보를 공유 할 수 있습니까? 또한, 왜'main.h'를 포함하고 있습니까? – Ganesh
'c'는 결코 null이 아니며, 확인할 필요가 없습니다. 대신'f'가 null이 아닌지 확인하십시오. – perreal
그리고 몇 가지 컴파일러 경고를 켜십시오 ... –