[問題] 讀檔跟開檔

看板C_and_CPP (C/C++)作者時間16年前 (2009/06/21 23:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
#include <stdio.h> #include <conio.h> #include <stdlib.h> #define PEOPLE 50 struct _Person { char name[80]; char phone[80]; char email[80]; }; typedef struct _Person Person; int main() { Person p[PEOPLE]; char key; char str[80]; int n=0; int i; while(1) { printf("i: 插入\n"); printf("l: 列出\n"); printf("s: 存檔\n"); printf("o: 讀檔\n"); printf("q: 結束\n"); printf("> "); key = getche(); printf("\n"); switch(key) { case 'i': printf("姓名: "); gets(p[n].name); printf("電話: "); gets(p[n].phone); printf("Email: "); gets(p[n].email); n++; printf("插入完成!\n"); break; case 'l': for(i=0; i<n; i++) { printf("No.%d:\n", i+1); printf("姓名: %s\n", p[i].name); printf("電話: %s\n", p[i].phone); printf("Email: %s\n", p[i].email); printf("=================\n"); } break; case 's': printf("輸入檔名(.txt): "); gets(str); // 存檔 break; case 'o': printf("輸入檔名(.txt): "); gets(str); // 讀檔 break; case 'q': printf("再見\n"); return 0; default: printf("輸入錯誤\n"); } system("pause"); system("cls"); } return 0; } 功能鍵的s(存檔)跟o(開檔),請問怎麼寫? 是要宣告兩個指標,分別讓它指向fopen()跟fwrite()嗎? 在存檔那邊,因為檔名是由使用者輸入的字去決定 所以是寫成 指標2的名稱=fwrite(strcat(str,.txt)); 這樣子嗎?? 然後開檔是 指標1的名稱=fopen(strcat(str,.txt),"r"); 另外,我不知道開檔這樣對不對? 因為還要判斷檔案存不存在 各位高手,指點一下新手吧...謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.62.236
文章代碼(AID): #1AFbHqo0 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AFbHqo0 (C_and_CPP)