[問題] 讀檔跟開檔
#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
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章