Ich möchte aus einem langen String eine Zahl auslesen. Die Position, ab
der die Zahl stehen kann, ist bekannt. Deshalb werden auch Referenzen
übergeben, weil im String weitergelesen werden soll.
Was mache ich hier falsch? Die Suche funktioniert, nur nach fgets steht
in number immernoch nichts drin und selbst wenn ich Number schon anfangs
beschreibe, hat *value_ nach sscanf nicht den Wert 103.
1 | void getValue(char *value_, int *pos_)
|
2 | {
|
3 | char charCnt=0;
|
4 | char number[10]={"103"};
|
5 | while((initFile[*pos_]<'0')||(initFile[*pos_]>'9'))
|
6 | {
|
7 | (*pos_)++;
|
8 | } //finally the first digit was found
|
9 | charCnt=1;
|
10 | while(initFile[*pos_]!='\r')
|
11 | {
|
12 | (*pos_)++;
|
13 | charCnt++;
|
14 | } //now charCnt is the number of digits
|
15 |
|
16 | fgets(number,charCnt,initFile+((*pos_)-charCnt));//initFile[(*pos_)-charCnt]);
|
17 | sscanf(number,"%d", value_);
|
18 | (*pos_) += 2; //skip "\r\n"
|
19 | }
|