String formatieren



  • Hallo gibt es in C eine Funktion, womit ich String's abschneiden kann. Z.B. gibt es in C# die Funktion Right() bzw. Left() womit ich die Strings abschneiden kann.

    Gibt es sowas einfaches auch in C?

    Das Problem ist, dass ich scientific numbers z.B. 1.221e-13 habe. Ich aber brauche nur die Hochzahl. Gibt es sowas?

    Viele Grüße
    simsa



  • strtok oder sscanf,...



  • In C gibt es keine gleichgültigen Funktionen.

    // Wenn du den restlichen String verwerfen kannst, dann kannst du einfach hinter 
    // den benötigten String ein Null-Byte schreiben
    
    char str[]="erster teil zweiter teil";
    
    str[11]=0;  // Strings mit Nullbyte teilen
    
    // oder
    
    char teil[12];  // Platz für Zeichen und Nullbyte reservieren
    
    strncpy(str, teil, 11);
    teil[11]=0;
    

    Den Code kannst du dann auch umschreiben um die Funktionalität der Funktion right nachzubilden



  • simsa schrieb:

    Das Problem ist, dass ich scientific numbers z.B. 1.221e-13 habe. Ich aber brauche nur die Hochzahl. Gibt es sowas?

    wenn die zahlen nicht negativ sind dann log10(x) z.b., oder floor(log10(x)+0.5)
    🙂



  • char *findE(char *str){
      char *ret = str;
      while(*str && *str != 'e')
        str++;
      if(*str){
        *str=0;
        return str+1;
      }
      return ret;
    }
    

    versuch doch mal sowas, c hat eben nicht für alles ein wässerchen 😉

    lg lolo


Anmelden zum Antworten