У меня возникла проблема с упражнением. Я должен прочитать записанный файл, который содержит две структуры друг друга, вторая структура, которая является продуктом, должна перестать читать при чтении символа #
из файла, а затем начать чтение перед структурой, а затем запасти продукт. Вы можете мне помочь?Прочтите связанный список из файла со специальными символами #
Я не могу прочитать из файла структуры, а затем остановить его до символа #. Мне кажется, что мне нужно два, в то время как первый закон - это элементы журнала структуры, а второй закон этого продукта структуры и остановка у символа #.
Есть ли кто-нибудь, кто мог бы написать такой код?
Файл с каждым элементом на отдельной строке, только линия STRUCT продукта находится на той же линии:
(Cod_p количество имя)
целое только отделил пространство.
файл организован следующим образом:
ENG0002
улица, 8
Лондон
Англия
SCG8888 шорты 200
FFSF888 рубашка 200
#
TRA456456
Park Road , 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' файлы, которые вы' fopen'ed. Есть, вероятно, больше проблем. –
О да, и вы забыли упомянуть, какие проблемы у вас на самом деле есть. –
Я не могу прочитать из структуры из файла, а затем заставить его остановить символ # – ilbranco