Leerzeichen beim Beschreiben von Array



  • Hallo!

    Die folgende Funktion soll den eigegebenen String ordnen, erzeugt aber blöderweise Leerzeichen, sodass der String danach so aussieht: "Fr oh e".
    Wie kann ich dieses Problem beheben?

    Danke!

    char* set(char* text)   
    	char t[5];                
    	sprintf(t,"ohreF");       
    	char* org = text;         
    
    	text[0] = t[4];          
            text++;            
    	*text = t[2];            
    	text[2] = *t;             
    	text = text + 5 - 2;
    	*text = t[1];
    	text[4] = t[3];
    
    	return org;
    }
    


  • char* set(char* text)  
        char t[5];                
        sprintf(t,"ohreF");      
        char* org = text;        
    
        text[0] = t[4];          
            text++;            
        *text = t[2];            
        text[2] = *t;            
        text = text + 5 - 2;
        *text = t[1];
        text[4] = t[3];
    
        return org;
    }
    

    also langsam frag ich mich ob das dein ernst ist 😉

    void set(char* text){
        text[0] = 'F';
        text[1] = 'r';
        text[2] = 'o';
        text[3] = 'h';
        text[4] = 'e';
        text[5] = '\0';
    }
    


  • Apeiron schrieb:

    Wie kann ich dieses Problem beheben?

    (1)text [0][1][2][3][4]
    (2)text++
    (3)text    [0][1][2][3][4]
    (4)text++
    (5)text       [0][1][2][3][4]
    

    Nach Ausführung von (2)text++ zeigt (3)text[0] dahin, wo (1)text[1] hinzeigt (vor Ausführung). Alles klar? 🙂



  • nunja also ich weiß nicht ob es gut ist ihn in dem glauben zu lassen dass das was er da gemacht hat ok ist, evtl. für kleine pointer übungen oder so aber da hast schnell mal nen fehler drin und das schaut sich dann keiner mehr an...

    "einfach", "sauber" programmieren vermeidet schon die meißten fehler und hält den code kurz und übersichtlich

    @picass0r||@hack0r||@...0r:
    hättest ihn schon darauf hinweisen müssen dass da ne '\0' fehlt 🙂



  • Hallo!

    Ich weiß es mein Code klingt wie Verarschung 🤡.Er wurde aber schon so als Aufgabe vorgegeben. Man sollte nur einige kleine Lücken im Code schließen....

    Danke euch!


Anmelden zum Antworten