0
所以我正在製作一個程序,它接收一個員工的數據(id,名字等)我已經掌握了sanfoundry教程的大部分內容現在我只是想知道如何將我創建的員工記錄保存在文本文件中。當然,如何在開始運行程序時打開該文本文件。從文本文件中讀取/寫入鏈接列表C
我能夠正常地做到這一點,但我發現很難將其實施到教程的代碼中。
FILE *file = fopen("C:\\Users\\Me\\Desktop\\AdvProgrammingAssignment\\employees.txt", "r");
char c;
if(file == NULL) {
printf("Error, file not found");
}
do {
c = fgetc(file);
printf("%c", c);
}
while(c != EOF);
fclose(file);
這將工作中的閱讀(這是從另一個程序我一樣),但現在我想添加到教程做什麼,並鏈表寫入一個文本文件,退出我的時候有點無知。
這是從教程中的代碼(不是全部)
void main()
{
struct emp_data *linkList;
char name[21], desig[51], addre[25], hd[15], empEmail[15], empSal[10];
char choice;
int eno;
linkList = NULL;
printf("\n Welcome to the employee database \n");
menu();
do
{
/* choose oeration to be performed */
choice = option();
switch(choice)
{
case '1':
printf("\n Enter the Employee Number : ");
scanf("%d", &eno);
printf("Enter the Employee name : ");
fflush(stdin);
gets(name);
printf("Enter the Employee Department : ");
gets(desig);
printf("Enter the Employee Address : ");
gets(addre);
printf("Enter the Employee Hire Date : ");
gets(hd);
printf("Enter the Employee Email : ");
gets(empEmail);
printf("Enter the Employee Salary : ");
gets(empSal);
linkList = insert(linkList, eno, name, desig, addre, hd, empEmail, empSal);
break;
case '2':
printf("\n\n Enter the employee number to be deleted: ");
scanf("%d", &eno);
linkList = deleteNode(linkList, eno);
break;
case '3':
if (linkList == NULL)
{
printf("\n Database empty.");
break;
}
display(linkList);
break;
case '4':
printf("\n\n Enter the employee number to be searched: ");
scanf("%d", &eno);
search(linkList, eno);
break;
case '5': break;
}
} while (choice != '5');
}
我應該創建一個新的方法,並在主要的開始打電話了嗎?任何幫助將不勝感激。
'fgetc'返回一個'int'(而不是'char') –
好吧...關於如何解決我的問題的任何想法解決了? – Neilk
'int fgetc(std :: FILE * stream)'.. [link]更多信息http://en.cppreference.com/w/cpp/io/c/fgetc – Shondeslitch