Pointer auf Chararray



  • Ich habe eine Frage zum Thema Zeiger auf Strings in C:

    Ich möchte, dass ich die Funktion FillString() folgendermassen aufrufen kann:

    FillString(sizeof(String)-1, &String);
    

    Nur, wie muss nun die Argumentenliste von FillString() aussehen?

    FillString(int _NumberOfCharsToFill, ???);
    

    So habe ich's momentan hinbekommen, mit einem Zeiger auf das erste Stringelement.-Ich möchte es aber so wie oben beschrieben:

    #include <stdio.h>
    
    void FillString(int _NumberOfCharsToFill, char *_String)
    {
    	for(int Schreibeposition=0; Schreibeposition <= _NumberOfCharsToFill; Schreibeposition++)
    	{
    		if(Schreibeposition == _NumberOfCharsToFill)
    			_String[Schreibeposition]='\0';
    		else
    			_String[Schreibeposition]='X';
    	}
    }
    
    int main(void)
    {
    	char String[10];
    
    	FillString(sizeof(String)-1, &String[0]);
    
    	printf("%s",String);
    	return 0;
    }
    


  • Ein char Array ist schon ein Pointer

    FillString(sizeof(String)-1, String);
    


  • DANKE!!!


Anmelden zum Antworten