String durchsuchen fehlerhaft
-
Hallo zusammen,
ich durchsuche eine Textdatei und möchte den Wert hinter _FA= als Zahlenwert speichern und zusätzlich nochmal ausgeben. Das hat bei einer anderen Variable (_MVAR=) super funktioniert, allerdings macht er das jetzt bei der neuen Variable nur einmal und gibt aber immer wieder diese aus. Und nicht die neu vorhandene.
string subFA, tFa ; stringstream StrFa; float rFa, rFaint; //---------------------------------------------_FA= speichern----------------------------------------- //---------------------------------------------------------------------------------------------------- if( (strstr(Zeile,"_FA="))) // Suchen des Parameters der Ausgaben { string tFa = Zeile; int posFa = tFa.find("_FA="); // Umwandlung String in Zahl if(posFa != string::npos) { rFa = 0; string subFa = tFa.substr(posFa + 4); StrFa << subFa; StrFa >> rFa; rFaint = ceil(rFa); fprintf(fpOut, "|--------------------------------\n"); fprintf(fpOut, "| _FA = : %d \n", (int) rFa); fprintf(fpOut, "|--------------------------------\n"); } }Als BSP.
Input:
_FA=10
_FA=20Output
--------------
_FA=10
--------------
--------------
_FA=10
--------------Die Codes sind identisch, bei einer anderen Varibable steht auch immer der aktuelle Wert da. Hat da jemand eine Idee, was ich falschmache ?! Software Visual C++ 6.0
-
Bitte ins C++-Forum verschieben
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum C++ (auch C++0x, bzw. C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
KlausD schrieb:
Software Visual C++ 6.0
Hast du dich zur Jahrtausendwende einfrieren lassen und sie haben dich nun wieder aufgetaut?
-
Erstens: Entscheide dich bitte für eine Sprache - dieses Gemisch aus C und C++ sieht ja schrecklich aus.
Zweitens: Dieses Fragment sieht so aus, als sollte es funktionieren, allerdings kann man da ohne den umliegenden Kontext nichts genaueres sagen. Ich würde dir vorschlagen, du wirfst deinen Debugger an und beobachtest genau, was da schiefgelaufen ist.PS: Wenn du sowieso nur ganze Zahlen erwartest, warum wandelst du dann den Zahlenwert in einen float um?
-
wolltest Du nicht sowieso eigentlich rFaint statt rFa ausgeben?