Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Länge eines Strings ermitteln

Hi,

ich habe ein Problem. Ich möchte die Länge eines Strings ermitteln, habe aber nur einen Pointer.

int anzeigen(){
    int i,n,lang;
    FILE *ptr;
    char buffer[50];
    char * pch;
   
       
    ptr=fopen(DATEI,"r");
   
    printf("\tVorname:\tNachname\tAlter\tGehalt\n");
    printf("\t--------------------------------------------------\n");
    while(fgets(buffer,100,ptr)!=NULL){
   
    pch = strtok (buffer,";");
    while (pch != NULL)
    {
    if(lang=(sizeof(pch)/4)<8){
    printf("/t");
    }   
    printf ("\t%s",pch);
    pch = strtok (NULL, ";");
    }
    }
return 0;
}


korrekterweise ist lang=1.

Wie kreige ich aber die Länge des Strings raus?
Meine Idee war, den String erst in eine Variable zu speichern tmp und von dieser die Länge zu ermitteln. Hoffe ja es gibt eine einfachere Lösung.

Gruß
Andre

Antworten zu Länge eines Strings ermitteln:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Einfach dereferenzieren geht vermutlich nicht?

lang=(sizeof(&pch)/4)

Die richtig tolle Lösung ist das mit dem sizeof eh nicht, du gehst jetzt davon aus, dass das was auch immer hinter dem Pointer steht, 4 Byte pro Einheit (hier: pro Zeichen) groß ist. Die einzig sichere Variante ist AFAIK sich den richtigen String zu holen und die Zeichen bis zum \0 zu zählen (da gibts strlen() oder sowas)... das sind dann so Momente, wo man richtige Strings richtig zu Schätzen weiß.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ach ja...strleng() gibts ja auch noch. ::)
Danke. Werde das mal damit probieren.
 


« dateien lesen/beschreibenmaus - funktion in visual c++ 6 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Unterlänge
In der Typographie lassen sich die einzelnen Buchstaben des Alphabets in ein sogenanntes Linienraster oder Liniensystem vertikal einfügen. Nun lassen sich drei versc...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet einen unkompilierten Programm-Code einer Software. Der Quellcode ist meist in einer der verbreiteten Programmierspra...

Unicode
Ein Unicode ist ein "Einheitsschlüssel", der als internationaler Standard gilt. Unicode ist ein digitaler Zeichensatz zur Darstellung von weitestgehend jedem Schrift...