練習に問題があります。私はファイルから#
文字を読み込むときに読み込みを停止し、次に構造体の前に読み込みを開始してから製品を保管しなければならない2番目の構造体である書かれたファイルを読みます。手伝って頂けますか?ファイルからリンクされたリストを特殊文字で読み取る#
私は構造ファイルから読み込むことができませんし、文字#に停止します。 私は2つが必要と思う最初の法律は、構造誌の要素とそれらの構造体の第2法則と文字#で停止します。
このようなコードを書くことができる人はいますか?
別々のライン上の各項目のファイル、構造体製品の唯一のラインは同一線上にある:
(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'関数は何も役に立ちませんが、とにかく呼び出すことはありません。そして 'fopen 'したファイルは' fclose'しないでください。多分もっと問題があります。 –
ああ、実際にどの問題が起きたのか忘れてしまった。 –
ファイルから構造体を読み取ることができませんし、文字# – ilbranco