看板 C_and_CPP 關於我們 聯絡資訊
不好意思打擾了 我想讀取一個筆記本寫的檔案 筆記本內容我是打 小明 80 90 這樣 但不知道為什麼 程式直接就跳出去了 編譯器編譯沒有error 我也不知道錯在哪 麻煩大家幫我看一下 謝謝 #include<stdio.h> #include<stdlib.h> struct record { char name[10]; int midterm; int final; }; typedef struct record student; main() { FILE *fp; student std; char filename[30]="student_score.txt"; fp = fopen("student_score.txt", "r+"); if(fp !=NULL) { while(!feof(fp)) { if(fread(&std,sizeof(std),1,fp)) { printf("%s\n",std.name); printf("%d\n",std.midterm); printf("%d\n",std.final); } } fclose(fp); } system("pause"); return 0; } 再請問大家一個問題 有些時候,我要是沒打system("pause"); 程式很快就跳出,沒看到執行的結果 請問這是什麼問題呢? 謝謝 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.9.179
VictorTom:1. fread是從file以binary型式讀進來, 可是你的data是 04/27 23:34
VictorTom:ASCII文字, 這邊也許要用fscanf試試; 另外我不確定中文 04/27 23:35
VictorTom:字會被怎麼處理, 除非有wchar.... 04/27 23:35
VictorTom:2. 因為你寫的是console程式, 你開DOS模式跑所有結果就 04/27 23:36
VictorTom:會留在DOS畫面上, 但如果你在Windows下跑, DOS程式只會 04/27 23:36
VictorTom:在程式還在執行時維持DOS視窗, 一執行完視窗就自己被關 04/27 23:36
VictorTom:了; 加 system("PAUSE"); 就是讓DOS視窗秀出一段訊息 04/27 23:37
VictorTom:"Press Any Key to Continue"之類的, 其實"PAUSE"是一個 04/27 23:37
VictorTom:DOS指令, system()只是幫你簡單的調用DOS/console指令. 04/27 23:38
VictorTom:喵的~~以後要是predict會推五行以上應該直接用回文的Orz 04/27 23:41