我有練習題。我應該讀取包含兩個結構的寫入文件,當從文件中讀取#
字符時,產品的第二個結構應該停止讀取,然後在結構之前開始讀取,然後存儲產品。你可以幫我嗎?從帶有特殊字符的文件中讀取鏈接列表#
我無法從結構文件讀取數據,然後將其停止爲#字符。 我想我需要兩個while第一個法則struct elements的元素,以及那些struct product的第二個法則,並且停止在字符#處。
有沒有人可以這樣寫代碼?
與在單獨的行的每個項目的文件中,僅結構產品的線是在同一行上:
(Cod_p名稱量)
整個僅分離空間。
文件的組織結構如下:
ENG0002
高街,8
倫敦
英格蘭
SCG8888短褲200
FFSF888襯衫200
#
TRA456456
公園路,88
倫敦
英格蘭
ASDASD000短褲100
ADWC000襯衫1000
YUAYO鞋122
#
#include <stdio.h>
#include <stdlib.h>
struct magazine {
char cod_m[30];
char adress[30];
char city[30];
char nation[30];
struct product* p;
struct magazine* next;
``
};
struct product {
char cod_p[10];
char name[20];
int quantity;
struct product* next;
};
void read_st(struct magazzino* m);
int main() {
struct magazzino* mag;
read_st(mag);
}
void read_st(struct magazzino* m) {
FILE* fp;
fp = fopen("magazzino.txt", "r");
while (!feof(fp)) {
struct magazzino* m = (struct magazzino*)malloc(sizeof(struct magazzino));
fscanf(fp, "%s\n%s\n%s\n%s\n", &m->cod_m, &m->adress, &m->city, &m->nation);
m->next;
printf("%s\n%s\n%s\n%s\n", &m->cod_m, &m->adress, &m->city, &m->nation);
}
}
struct prodotto* LeggiProdotto(char filename) {
FILE* fp = fopen("magazzino.txt", "r");
while (!feof(fp)) {
struct prodotto* p = (struct prodotto*)malloc(sizeof(struct prodotto));
}
}
提示:行'm-> next;'什麼都不做。並閱讀[this](http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong)。而'LeggiProdotto'函數沒有任何用處,但是你不會調用它。而且你不會'fclose'你打開的文件。可能有更多的問題。 –
哦,是的,你忘了提到你實際上有哪些問題。 –
我無法從文件中讀取結構,然後將其停止到字符# – ilbranco