Zeichenketten Funktion

seriously

Mitglied
Funktion Csv_GetColIndex. Der Funktion wird eine Zeichenkette (eine CSV-Zeile), ein einzelner
Character (der ”separator“) und eine vorzeichenlose ganze Zahl col_nummer (Datentyp
unsigned) übergeben. Funktionsergebnis ist der Index des ersten Zeichens der Spalte
col_nummer. Ist die Spalte nicht vorhanden, so ist das Funktionsergebnis -1.

Bsp.: Zeichenkette: ",,4020,Linz,"
separator: ’,’
col_nummer 4
Funktionsergebnis: 7

Ich habe keine Idee, wie das geht :(
Wenn jemand eine Idee hätte, wäre sehr nett wenn er oder sie das mir sagen könnte :)
 
Hi

Zuerst suchst du das col-nummernste Trennzeichen.
Wenn der String vorher zu Ende ist: -1
Sonst gibst du den Index des Trennzeichens +1 zurück

C++:
unsigned int Csv_GetColIndex(char *zeile,char separator,unsigned int col_nummer)
{
    unsigned int index=0;
    while((--col_nummer)>0)
    {
        while(zeile[index]!=separator&&zeile[index])index++;
        if(!(zeile[index++]))return -1;
    }
    return index;
}

Gruß
 
Hi

das Ganze etwas Anfängerfreundlicher:

C++:
unsigned int Csv_GetColIndex(char *zeile,char separator,unsigned int col_nummer)
{
    unsigned int index;
    index=0;
    col_nummer--;
    while(col_nummer>0)
    {
        while( zeile[index] != separator && zeile[index] != '\0' ) index++;
        if(zeile[index]== '\0')return -1;
        index++;
        col_nummer--;
    }
    return index;
}

Das
C++:
while((--col_nummer)>0)
{
...
}
bedeutet soviel wie
C++:
col_nummer--;
while(col_nummer>0)
{
...
col_nummer--;
}

Gruß
 
Zurück