하지 않음이 :
char fname[256];
printf("Enter file name\n");
scanf("%123s",fname);
strcat(fname,".txt"); F
FILE *inputf; inputf=fopen(fname,"w"); // <--!!!
if (inputf!=NULL) printf("found");
else printf("not found");
but this instead:
char fname[256]; FILE *inputf;
inputf=fopen(fname,"w");
printf("Enter file name\n");
// you know that you can't ever, EVER use scanf() so // remove this time bomb and use something else scanf("%123s",fname);
strcat(fname,".txt"); inputf=fopen(fname,"w"); if (inputf!=NULL) { printf("found"); } else { printf("not found"); }
이제 NULL이 아닌 포인터는 무엇입니까? 코드를 컴파일 할 수 없으므로 NULL이 무엇인지 알 수 있습니까?
--pete
무엇이 문제입니까? – Gorgen
이 코드를 어떤 환경에서 실행합니까? 너 자신의 컴퓨터? 공유 된 단말기, 아마도 학교 PC? 다른 곳으로의 Ssh 액세스? linux를 사용한다면 "ls -l"의 결과는 무엇입니까? 왜냐하면 파일 시스템에 쓸 수있는 권한이 부족하기 때문입니다. –
내 시스템에서 코드를 잘 컴파일합니다. "w"매개 변수로 종료하지 않으면 파일을 작성합니다. @junjanes가 제안한 것을 확인해야합니다. – Mahesh