sscanf und Konvertierungsfehler



  • Hallo,

    Manchmal (!!!) erhalte ich bei einer Umwandlung mit:

    sscanf(Text,"%s",Text);

    Fehler, aber keine vom Compiler sondern einfach falsch gewandelte Zeichen, manchmal geht dass aber Problemlos!!!
    Wenn ich:

    strcpy(Cache,Text);
    sscanf(Cache,"%s",Text);

    verwende nicht mehr !!!

    Kann mir das jemand erklären? Liest sscanf intern den Text nicht sowiso schon in einen Zwischenspeicher, oder wird da direkt von Quelle zum Ziel kopiert?



  • sscanf(string,"%s",**&**string) ist nicht definiert

    ich glaube mal gelesen zu haben dass das probleme verursachen kann...
    um \n am ende zu entfernen probiers so:

    if(string[strlen(string)]=='\n')string[strlen(string)]='\0';



  • @CGI-BIN
    Deine Erklärung ist ganz ok, sscanf kopiert nicht die Zeichenkette in einen internen Buffer - das würde auch einen Geschwindigkeitsverlust bedeuten.
    Kurz: Der Zielstring sollte nicht auch noch ein Parameter von sscanf sein - deshalb funktioniert auch die 2. Version.

    cu