string in einem neuen speicherbereich kopieren!!!!!!!!!!



  • hallo leute!
    ich habe einen eine textdatei:
    #gerald
    #hallo du
    #was geht ab?
    #danke mir gehts gut#Name#gery@gmx.at#16-01-1920 13:00#

    und möchte das Kommentar: also ein zweites # Zeichen in einer Zeile auftaucht in einen string schreiben!

    weil ich auch einen absatz wie in der textdatei habn will füge ich <BR> ein. Damit er mir im HTML eine zeile runter geht!

    neuer string:gerald<BR>hallo du<BR>was geht ab<BR>danke mir gehts gut

    mein versuch:
    [code="cpp"]

    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #include <stdio.h>

    int main(void)
    {
    FILE *f1, *f2;
    char *text1,*message,*messages,*Buffer;
    int laenge,i,result,j,l;

    f1=fopen("C:\\Guest.txt", "rt");
    f2=fopen("C:\\ausgabe.txt", "wt");

    clrscr();

    fgets(text1,100,f1);
    laenge=strlen(text1)-1;
    i=0;
    result=0;

    for(i=0;i<laenge;i++)
    {
    if(text1[i]=='#')
    {
    result++;
    }
    }
    if (result>2)
    {
    messages=strtok(text1,"#");
    strcat(message,messages);
    }
    else
    {
    while(result<2)
    {
    i=0;
    laenge=0;
    j=1;
    l=0;
    while (j < Strlen(text1))
    {
    Buffer[l++]=text1[j];
    }
    Buffer[l]='\0';
    message = strdup(Buffer);
    fprintf(f2,"%s\n",message);
    strcat(messages,message);
    strcat(messages,"<BR>");
    fgets(text1,100,f1);
    laenge=strlen(text1);
    for(i=0;i<laenge;i++)
    {
    if(text1[i]=='#')
    result++;
    }
    }
    }
    fclose(f1);
    fclose(f2);
    getch();
    }

    ich komm nicht weiter....weiß net warum!!!????
    mfg surf.



  • Wo genau liegt das Problem?

    Stuerzt das Proramm ab? Ist die Ausgabe falsch?

    Formatier doch bitte mal den Quelltext, da hat man gar keinen Ueberblick.

    mfg
    v R



  • Hallo!

    Ich denke Du hast das Problem, weil du mit uninitialisierten char Variablen arbeitest.

    Du definierst Strings mit
    char *text1,*message,*messages,*Buffer;

    und verwendest sie hinterher, ohne einen genauen Speicherbereich zuzuordnen.

    wenn du z.B. mit
    char text1[1024]="",message[1024]="" etc..

    arbeitest, solltest du zurechtkommen.

    So wie du es jetzt hast, kann der Text, den du der Variablen zuordnest schnell in einen gesicherten Bereich im Speicher kommen, und das Prg. stürzt ab!

    Probier mal, und schreib obs dann funktioniert?


Anmelden zum Antworten