Letztes Zeichen von char abschneiden



  • Moin!

    Ich möchte von einem char das letzte Zeichen löschen.

    Wie mache ich das am besten?



  • Indem du es auf die binäre Null setzt:

    char zeichen[10] = "Hallo!";
    size_t len = strlen(zeichen);
    if(len>0)
      zeichen[len-1] = 0; // bzw. '\0'
    


  • raterchen schrieb:

    Ich möchte von einem char das letzte Zeichen löschen.

    Was ist das letzte Zeichen von einem char? :p



  • Formal gesehen ist das letzte zeichen eines char der char selbst, analog das erste zeichen.



  • Worüber sich meine Vorschreiber so lustig machen ist die Tatsache, dass du einen String = eine Zeichenkette = einen char Array mit Terminierungszeichen meinst.
    Die 0 oder '\0' in einem char Array markiert das Ende eines Strings, somit kannst du es zur Stringkürzung 'missbrauchen'.

    // Include 'cout'
    #include <iostream>
    // Include 'strlen'
    #include <cstring>
    
    // Program entry function
    int main(){
    	// Define string
    	char my_c_string[] = "Hello world!";
    	// Get string length
    	size_t len = strlen(my_c_string);
    	// Check for valid string length
    	if(len > 0)
    		// Set termination character/string end to last character
    		my_c_string[len-1] = '\0';
    	// Output string
    	std::cout << my_c_string;
    	// Return program termination status
    	return 0;
    }
    

    Hello world



  • char x = 'a';
    	x -= x;
    

  • Mod

    Falls das wirklich C++ sein soll statt C:

    string foo = "Hallo Welt";
    foo.pop_back();
    

Log in to reply