Aloha
Ich les eine Datei mit Werten ein, die geschickterweise durch Tabs getrennt sind
{"-17,4533 -27,874 -3,08657 23,1162 -20,4222 1 ;
"}
Sowas zum Beispiel.
Das geht mit StdioFile.ReadString(CString) ja acuh ganz schick, dummerweise werden da die Tabs nicht vernünftig übernommen.
Das hab ich dann folgendermaßen gelöst (mich interessieren nur Werte 3-5)
Das klappt auch wunderbar.
Aber nurn schmiert mir ReadFile reproduzierbar immer an der gleichen Stelle ab, immer nach genau der gleichen Anzahl an Wiederholungen.
Er schmiert ab in der ReadString, irgendwo ganz weit unten mit einer "First-chance exception in Sammon3DD.exe (NTDLL.DLL): 0xC0000005: Access Violation."
in _lock_file ab.
Kompiliert wird das ganze unter VS6 Windows XP SP2
Jmd ne Idee?
#grs
Ich les eine Datei mit Werten ein, die geschickterweise durch Tabs getrennt sind
{"-17,4533 -27,874 -3,08657 23,1162 -20,4222 1 ;
"}
Sowas zum Beispiel.
Das geht mit StdioFile.ReadString(CString) ja acuh ganz schick, dummerweise werden da die Tabs nicht vernünftig übernommen.
Das hab ich dann folgendermaßen gelöst (mich interessieren nur Werte 3-5)
PHP:
strcpy(pC,Line);
for (int j = 0; pC && (*pC != '\0') && (*pC != ';') && (j < 5); j++)
{
char *str = pC;
while (*str == ' ') //evtl. führende Leerzeichen entfernen
str++;
char *pC2 = strchr(str, '\t');
if (pC2 != NULL)
{
*pC2 = '\0';
pC2++;
}
if (j == 2)
x = str2float(const_cast<char*>(pC));
if (j == 3)
y = str2float(const_cast<char*>(pC));
if (j == 4)
z = str2float(const_cast<char*>(pC));
pC=pC2;
while (pC && (*pC == ' ')) // Leerzeichen übergehen
pC++;
}
Aber nurn schmiert mir ReadFile reproduzierbar immer an der gleichen Stelle ab, immer nach genau der gleichen Anzahl an Wiederholungen.
PHP:
if (File.Open(filename, CFile::shareDenyWrite | CFile::modeRead) == 0)
return -1;
File.SeekToBegin();
bool bData = false;
while (File.ReadString(Line)==TRUE)
{
if (!bData)
{
Line.TrimRight();
if (Line.Compare("[Daten]")==0)
bData = true;
}
else
{
//hier kommt meine eigentliche Verarbeitung, Daten stehen halt erst nach dem "[Daten]"-String
}
in _lock_file ab.
Kompiliert wird das ganze unter VS6 Windows XP SP2
Jmd ne Idee?
#grs