Kopieren von Daten aus einer text-Datei in ein anderes in C

Schreibe ich ein basic-Programm, das kopiert einen string aus einer vorhandenen text-Datei und kopiert den text in einen neue text-Datei. Ich bin fast da, aber ich habe ein paar kleine Probleme. Zuerst habe ich die Ausgabe der Zeile von text auf dem Bildschirm nach dem kopieren und es gibt mir 3 zufällige Zeichen nach dem string aus. Ich möchte wissen, warum dies geschieht. Auch das Programm ist das erstellen der neuen Textdatei aber nicht, den string in die Datei.

Hier ist mein code:

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

int main(void)
{
char content[80];
char newcontent[80];

//Step 1: Open text files and check that they open//
FILE *fp1, *fp2;
fp1 = fopen("details.txt","r");
fp2 = fopen("copydetails.txt","w");

    if(fp1 == NULL || fp2 == NULL)
    {
    printf("Error reading file\n");
    exit(0);
    }
    printf("Files open correctly\n");
//Step 2: Get text from original file//
while(fgets(content, strlen(content), fp1) !=NULL)
    {
    fputs (content, stdout);
    strcpy (content, newcontent);
    }
    printf("%s", newcontent);
printf("Text retrieved from original file\n");

//Step 3: Copy text to new file//
    while(fgets(content, strlen(content), fp1) !=NULL)
        {
            fprintf(fp2, newcontent);
        }
        printf("file created and text copied to it");
//Step 4: Close both files and end program//
        fclose(fp1);
        fclose(fp2);
return 0;
}
InformationsquelleAutor adohertyd | 2011-11-30
Schreibe einen Kommentar