Не это:
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");</p>
<p>but this instead:</p>
<p>char fname[256];
FILE *inputf; </p>
<p>inputf=fopen(fname,"w");<br>
printf("Enter file name\n"); </p>
<p>// you know that you can't ever, EVER use scanf( ) so
// remove this time bomb and use something else
scanf("%123s",fname); </p>
<p>strcat(fname,".txt");
inputf=fopen(fname,"w");
if (inputf!=NULL) {
printf("found");
}
else {
printf("not found");
}
Теперь, какой указатель не был NULL? Вы не могли бы скомпилировать код так, как он у вас был, так как узнать, что было или не было NULL?
- Пит