연습 문제가 있습니다. 나는 두 개의 구조체를 포함하는 문서 파일을 읽어야한다. 파일에서 #
문자를 읽을 때 제품이 읽는 것을 멈추어야하는 두 번째 구조체를 읽은 다음 구조체 앞에 읽기를 시작한 다음 제품을 구입해야한다. 나 좀 도와 줄 수있어?특수 문자가있는 파일에서 연결된 목록 읽기 #
구조체 파일에서 읽을 수 없으며 문자 #으로 끝납니다. 나는 두 가지가 필요하다고 생각하는데, 첫 번째 법칙은 구조체 잡지의 요소이고, 두 번째 법칙은 제품을 구조화하고 문자 #에서 멈 춥니 다.
이와 비슷한 코드를 작성할 수있는 사람이 있습니까?
가(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