[C/C++] Problem bei der Übergabe von Char-arrays

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von thecoolman4rr, 9. Dezember 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 9. Dezember 2006
    Problem bei der Übergabe von Char-arrays

    Hallo erstma =))
    also ick hab mal wieder nen nettes Problem: Ich habe am Anfang einen großen char-Array (Buffer) und in diesen Buffer soll nun noch was eingefügt werden und dann in den andern char-Array "OutPut" kommen. Mein Problem ist nun, dass anscheinend nur die Adressen auf die Buchstaben weiter gegeben werden, aber nicht die Buchstaben selber, was zur Folge hat, dass ich komische Fehler im OutPut habe & das ganze nicht mal ordentlich debuggen kann, weil Dev-C++ mir nur die Adressen auf die Buchstaben anzeigt.
    Hier mal nen kleiner CodeAusschnitt:
    Code:
    char OutPut[BufferLenth+100];
     for(int i = 0; i < WorthPosition; i++) // Hier wird alles bis zur Position der Wertes in OutPut 
     { // übertragen...
     *OutPut[i] = *Buffer[i];
     i_AktPosition = i;
     }
     for(int y = 0; y < WorthLenth; y++) // Hier wird dann der Wert eingetragen
     {
     OutPut[i_AktPosition + y] = c_Worth[y];
     }
     i_AktPosition = WorthPosition + WorthLenth;
     for(int i = i_AktPosition; i < BufferLenth; i++) // Hier wird dann alles, was hinter dem eingetragenen Wert kam
     { // weiterübertragen
     if(Buffer[i - WorthLenth] != '\0')
     {
     OutPut[i] = Buffer[i - WorthLenth];
     }
     else if(Buffer[i- WorthLenth] == '\0')
     {
     OutPut[i] = '\0';
     }
     }
     cout << "Outputausgabe: " << endl; // Und hier wird OutPut ausgegeben...
     for(int i = 0; i < BufferLenth+100; i++) // Wobei sich mehrere Fehler einschleichen
     {
     if(OutPut[i] != '\0')
     {
     cout << OutPut[i];
     }
     else
     {
     break;
     }
     }
    ich hoffe ihr habt verstanden was ich meine/machen möchte und könnt mir helfen =)!

    mfg thecoolman4rr
     

  2. Anzeige
  3. #2 9. Dezember 2006
    AW: Problem bei der Übergabe von Char-arrays

    so ich hoffe ich hab dich richtig verstanden ;) also du willst quasy einen Wert in das Array einfügen und dann ganze Array ausgeben nech.

    ich hab das mal so probiert mit irgendwelchen werten und ich denke dass es an dieser for-Schleife lag:



    Man muss das Array nicht bis zu BufferLenth durchegehn, sondern bis BufferLenth+WorthLenth, denn man hat ja das wort eingefügt und so ist das Array ja größer geworden. Ich hab den Code mal umgeschrieben, Im Grunde lag es an dieser Schleife.

    Code:
    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    int main(int argc, char** argv){
     char Buffer[] = "wert: ich bin der Wert und nicht ich";
     int BufferLenth = 36;
     int WorthPosition = 6;
     int WorthLenth = 16;
     int i_AktPosition;
     char c_Worth[] = "sechzen Zeichen!";
     
     char OutPut[1000];
     
     for(int i = 0; i < WorthPosition; i++) // Hier wird alles bis zur Position der Wertes in OutPut 
     { // übertragen...
     OutPut[i] = Buffer[i];
     i_AktPosition = i;
     }
     
     for(int y = 0; y < WorthLenth; y++) // Hier wird dann der Wert eingetragen
     {
     OutPut[i_AktPosition + y] = c_Worth[y];
     }
     
     i_AktPosition = WorthPosition + WorthLenth;
     
     for(int i = i_AktPosition-1; i <= BufferLenth+WorthLenth; i++) // Hier wird dann alles, was hinter dem eingetragenen Wert kam
     { // weiterübertragen
     OutPut[i] = Buffer[i - WorthLenth];
     i_AktPosition = i;
     }
     OutPut[i_AktPosition] = '\0';
     
     printf("Outputausgabe: \n"); // Und hier wird OutPut ausgegeben...
     for(int i = 0; i < BufferLenth+100; i++) // Wobei sich mehrere Fehler einschleichen
     {
     if(OutPut[i] != '\0')
     {
     printf("%c",OutPut[i]);
     }
     else
     {
     break;
     }
     }
     return(0);
    }
    Die Ausgabe ist dann bei mir:
    ich hoffe, das ist was du meintest :p

    greetz schiene
     
  4. #3 10. Dezember 2006
    AW: Problem bei der Übergabe von Char-arrays

    wohoo geil tatsächlich ^^ sieht so aus als könnte ich meine schöne INI-FileClass bald fertigstellen =)

    mfg thecoolman4rr

    btw: closed :D
     

  5. Videos zum Thema
Die Seite wird geladen...