hi,
even een vraagje... ik krijg en file met wat junk tussen de data die ik nodig heb en aan het eind wat lege regels...
Nou maakt het momenteel uit hoe ik het inlees....
Als het een schone file is (handmatig alle junk eru8it gehaald en lege regels weggehaald dan is het geen probleem....
Als het alleen de junk bevat (dus geen lege regels meer aan het eind) dan geeft hij bij de 3e regel ofzo die hij inleest een fout....
Als hij en junk en lege regels bevat dan klopt er niks van de output en leeest hij 4 regels in ofzo...
Kortom ik probeer een file in te lezen zoals ik hem aan geleverd krijg... maar zit met wat problemen.....
In eerste instantie:
Die lege regels...
Ik probeer het volgende:
strlen(Temp1 != 0)
Omdat Temp1 de eerste string zou moeten zijn maar die leest nooit een lege regel in.... dus dat werkt niet. Die leest altijd door totdat hij een string tegen komt...
Verder aangezien ik die hele regels blauw kan maken staan er waarschijnlijk dus allemaal space characters... maar een strcmp op lege spaties werkt natuurlijk om dezelfde reden niet
Sterker nog hij ziet de laatste regel 2x
Dan zit ik nog met de junk...
Om de een of andere reden schopt dat ook alles in de war...
Das niet echt de bedoeling.....
Hij leest prima in wat de junk is en doet er verder niks mee... maar loopt er wel op vast
Die begint altijd met een LORD3 en gaat dan geloof 13 strings door..
Dus die probeer ik te pakken te krijgen met mijn fscanf functie maar om de een of andere reden loopt dat dus ook nog niet lekker....
De file: orders4.txt
even een vraagje... ik krijg en file met wat junk tussen de data die ik nodig heb en aan het eind wat lege regels...
Nou maakt het momenteel uit hoe ik het inlees....
Als het een schone file is (handmatig alle junk eru8it gehaald en lege regels weggehaald dan is het geen probleem....
Als het alleen de junk bevat (dus geen lege regels meer aan het eind) dan geeft hij bij de 3e regel ofzo die hij inleest een fout....
Als hij en junk en lege regels bevat dan klopt er niks van de output en leeest hij 4 regels in ofzo...
Kortom ik probeer een file in te lezen zoals ik hem aan geleverd krijg... maar zit met wat problemen.....
In eerste instantie:
Die lege regels...
Ik probeer het volgende:
strlen(Temp1 != 0)
Omdat Temp1 de eerste string zou moeten zijn maar die leest nooit een lege regel in.... dus dat werkt niet. Die leest altijd door totdat hij een string tegen komt...
Verder aangezien ik die hele regels blauw kan maken staan er waarschijnlijk dus allemaal space characters... maar een strcmp op lege spaties werkt natuurlijk om dezelfde reden niet
Sterker nog hij ziet de laatste regel 2x
Dan zit ik nog met de junk...
Om de een of andere reden schopt dat ook alles in de war...
Das niet echt de bedoeling.....
Hij leest prima in wat de junk is en doet er verder niks mee... maar loopt er wel op vast
Die begint altijd met een LORD3 en gaat dan geloof 13 strings door..
Dus die probeer ik te pakken te krijgen met mijn fscanf functie maar om de een of andere reden loopt dat dus ook nog niet lekker....
De file: orders4.txt
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| void Problem::ReadOrders(char *mFileName) { char Temp1[12], Temp2[8], Temp3[8], Temp4[8], Temp5[8], Temp6[8], Temp7[8], Temp8[5], Temp9[6], Temp10[6], Temp11[6], Temp12[12], Temp13[4], Temp14[4]; FILE *f = (FILE *)NULL; f = fopen(mFileName, "r"); while(!feof(f)) { DEntityPtr mDEntityPtr = new DEntity(Count); mDiGraphPtr->AddNode(mDEntityPtr); fscanf(f,"%s %s %s %s %s %s %s %s %s %s %s %s %s %s",Temp1,Temp2,Temp3,Temp4,Temp5,Temp6,Temp7,Temp8,Temp9,Temp10,Temp11,Temp12,Temp13,Temp14); if(!strcmp(Temp1,"LORD3")) { fscanf(f,"%s %s",Temp2,Temp3); } else { Count++; mDEntityPtr->mOrderNr = Temp1; mDEntityPtr->mDemand1 = atoi(Temp2); mDEntityPtr->mDemand2 = atoi(Temp3); mDEntityPtr->mDemand3 = atoi(Temp4); mUnScheduledOrders.AddAtEnd(mDEntityPtr); } } fclose(f); } |
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)