Programmieren - alles kontrollieren 4.936 Themen, 20.625 Beiträge

String trennen ....

Danni_KA / 3 Antworten / Flachansicht Nickles

Hallo,
hab in MFC aus einer Datei Zeilen in ein CString geladen. Das ganze schaut dann so aus: strLine {"1 2 -5 -3 7 -1 -1 0 Text"} Dazwischen befindet sich jeweils ein Tabstp zeichen.
Meine Frage wäre, wie bekomme ich die einzelnen Zahlen in getrennte Stings (oder in ein array) und dann sollten nur die Zahlen übernaommen werden, nicht aber der Text -hoffe jemand kann mir helfen.
Grüssle
Danni

bei Antwort benachrichtigen
Enrico_Horn Danni_KA „String trennen ....“
Optionen

Also MFC-Like würd ich das so machen:

CString strString = "1 2 -5 -3 7 -1 -1 0 Text";
CString strTemp;
CStringArray arr;
int pos;
pos = strString.Find("\t");
while (pos != -1)
{
      strTemp = strString.Left(pos);
      if (CheckIfNumber(strTemp))
           arr.Add(strString);
      strString = strString.Mid(pos+1);
      pos = strString.Find("\t");
}

Dann brauchst du noch die Funktion:

BOOL CheckIfNumber(CString strString)
{
      TCHAR strTemp;
      for (int ii=0;ii       {
          strTemp = strString[ii];
          if (!isdigit(strTemp) && !(strTemp == '-'))
                return FALSE;
      }
      return TRUE;
}

Hoffe das funzt. Hab hier keine Entwicklungsumgebung

bei Antwort benachrichtigen