Antwort schreiben  Thema schreiben 
Verfasser Nachricht
daniel133
Unregistered


Beitrag: #1
xPSP  [C] Datei einlesen

hi Leute

Ich habe mal eine Frage in c:

Ich möchte gerne eine Datei lesen und den Inhalt wieder Schreiben.

Dazu habe ich einen Code gecodet, doch dieser ließt immer nur die 1 Zeile der Datei ein un schriebt diese :

Zitat:
Die #include werden leider nicht hier im Forum angezeigt.




#define printf pspDebugScreenPrintf

PSP_MODULE_INFO("Test",0,1,1);


int main(void) {
pspDebugScreenInit();
pspDebugScreenClear();
SetupCallbacks();
SceCtrlData pad;


FILE *datei;
char text[100+1];



datei = fopen ("ms0:/testdatei.txt", "r");
if (datei != NULL)
{
fscanf (datei, "%100c", text);

text[100] = '\0';

fclose (datei);
}



FILE *datei2;
datei2 = fopen ("ms0:/psp/testdatei.txt", "w");
if (datei2 == NULL)
{
printf("Fehler beim oeffnen der Datei.");
return 1;
}
fprintf (datei2, text);
fclose (datei2);





return 0;
}

Ich möchte nicht den Kopier befehl verwenden, sondern erst einlesen, dann wieder schreiben.

Wäre cool wenn mir jemand helfen könnte.


lg Daniel133

08.01.2011 17:55
Diese Nachricht in einer Antwort zitieren
Chaosduckman
Halbprofi
***


Beiträge: 170
Gruppe: User
Registriert seit: May 2010

Status: Offline
Danke erhalten: 43
Beitrag: #2
xPSP  RE: [C] Datei einlesen

Hi Tongue
Ich glaube wenn du das so änderst,

Code:
fscanf (datei, "%s", text);


,sollte es gehen Big Grin

Ich würde dir aber trozdem eine andere Funktion ans Herz legen.
Schau dir mal das Beispiel an =)

Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2011 18:01 von Chaosduckman.

08.01.2011 17:59
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Unbekannt
Holiday News-Writer
*****


Beiträge: 1.600
Gruppe: User
Registriert seit: Mar 2010

Status: Offline
Danke erhalten: 4404
Beitrag: #3
RE: [C] Datei einlesen

Lies die Datei in einem Array ein und gib sie aus.




Ab Sofort werden alle unnötigen PNs nicht mehr beantwortet. Ich bin wieder mal weg von PSPKing und unterstütze eine andere Seite da ich hier nicht mehr erwünscht bin. Danke an PSP-Hilfe und den Moderatoren und all die anderen User die nicht so viel Dummeszeug labern.
08.01.2011 18:43
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
daniel133
Unregistered


Beitrag: #4
RE: [C] Datei einlesen

kannst du mir dazu einen code schnipsle geben ?

08.01.2011 18:46
Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #5
RE: [C] Datei einlesen

Mach es halt nicht mit nem Array, sondern dynamisch...

Code:
int main(int argc, char *argv[])
{
    pspDebugScreenInit();
    pspDebugScreenClear();
    SetupCallbacks();
    SceCtrlData pad;
    
    /* Variablen, vor allem Zeiger, sollten vordefiniert werden! */
    FILE *datei = NULL, *datei2 = NULL;
    
    /* Zeiger auf einen dynamischen Speicherbereich, der später angefordert wird */
    char *text = NULL;
    
    /* Damit wir wissen wie viel Bytes geschrieben werden müssen */
    int size = 0;
    
    datei = fopen("ms0:/testdatei.txt", "r");
    if(datei)
    {
        /* Größe ermitteln */
        fseek(datei, 0L, SEEK_END);
        size = ftell(datei);
        fseek(datei, 0L, SEEK_SET);
        
        /* Speicher anfordern */
        text = (char *)malloc(size);
        if(!text)
            // ERROR
        
        /* Datei einlesen */
        fread(text, sizeof(char), size, datei);
        
        /* Bringt eigentlich hier gar nichts^^ */
        text[size - 1] = '\0';
        
        fclose(datei);
    };
    
    datei2 = fopen("ms0:/psp/testdatei.txt", "w");
    if(!datei2)
    {
        printf("Fehler beim oeffnen der Datei.");
        return 1;
    };
    
    /* In datei2 schreiben */
    fwrite(text, sizeof(char), size, datei2);
    fclose(datei2);
    
    // blaaaaaaaaaaaa
};


Ist nicht getestet, aber so in etwa sollte es funktionieren.
Außerdem würd ich dir raten, dir mal die PSP I/O Funktionen anzuschauen... ich finde die auf der PSP wesentlich schöner als die libc Funktionen Smile

BTW, bitte formatiere deine Codes besser^^
Tabs sind immer gut, und ich finde das der Code viel besser lesbar ist wenn die Klammern erst in der neuen Zeile geschrieben werden Wink

Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2011 19:50 von HacKmaN.

08.01.2011 19:49
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
xxx_knoppix_xxx (Jan-8-2011)
Chaosduckman
Halbprofi
***


Beiträge: 170
Gruppe: User
Registriert seit: May 2010

Status: Offline
Danke erhalten: 43
Beitrag: #6
xPSP  RE: [C] Datei einlesen

Naja hätte auch gelangt auf meinen Link zu klicken aber gute Arbeit HacKmaN =)

08.01.2011 23:12
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #7
xPSP  RE: [C] Datei einlesen

Chaosduckman :
Naja hätte auch gelangt auf meinen Link zu klicken aber gute Arbeit HacKmaN =)


Sry, hab ich nicht gesehen :/

09.01.2011 14:05
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xGames Lua Inhalt der Datei gezielt verändern? © by Noa 3 10.540 09.01.2015 16:40
Letzter Beitrag: Whynot
xGames txt datei lässt sich nicht "schreiben"(io.open) © by Noa 6 2.975 15.02.2013 17:19
Letzter Beitrag: © by Noa
xPSP .elf datei in pbp umwandeln lustigatoYAK 8 3.822 06.09.2011 19:52
Letzter Beitrag: Tim2001
xPSP C SDK batch datei gelöscht. secret 7 2.706 14.08.2011 15:21
Letzter Beitrag: secret
xPSP Lua problem inhalt der datei wird nicht überschrieben. secret 1 1.583 04.08.2011 15:17
Letzter Beitrag: secret

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang