【問題】不知道錯在哪 請高手指點


Recommended Posts

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

FILE *stream;

char abc[50];

printf("請輸入欲開啟的檔案名稱:");

scanf("%s",abc);

stream=fopen("abc.txt","r");

if(stream!=NULL)

printf("%s 檔以唯讀模式開啟成功!!\n",abc);

else

printf("檔案開啟失敗!!\n");

if (fclose(stream) == EOF)

printf("關閉 %s 檔失敗!!\n",abc);

else

printf("關閉 %s 檔成功!!\n",abc);

system("pause");

}

我是要打開筆記本abc.txt

鏈接文章
分享到其他網站
  • 3 weeks later...

你stream=fopen(abc,"r");寫成stream=fopen("abc.txt","r");

還有檔案沒有開啟是不能關閉的

應該改成這樣

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *stream;
char abc[50];

printf("請輸入欲開啟的檔案名稱:");
scanf("%s",abc);

stream=fopen(abc,"r");
if(stream!=NULL){
printf("%s 檔以唯讀模式開啟成功!!\n",abc);
if (fclose(stream) == EOF){
printf("關閉 %s 檔失敗!!\n",abc);
}else{
printf("關閉 %s 檔成功!!\n",abc);
}
}else{
printf("檔案開啟失敗!!\n");
}

system("pause");
}

鏈接文章
分享到其他網站
  • 3 weeks later...
你stream=fopen(abc,"r");寫成stream=fopen("abc.txt","r");

你的錯誤這位大大已經回答了

不是錯在順序

他說的檔案沒開啟就不能關閉的意思是

假如說開檔失敗

就不能做關檔的動作

所以才要做if(stream!=NULL)

判斷開檔是否成功

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入