Zdravim,
Potřebuju načíst postupně do tří polí tři věty(a,b,c) ze souboru, takže v každém poli bude jedna věta. Tyto věty následně obrátím(c,a,b) a zapíšu zpět do souboru. Úkol musí být řešen pomocí ukazatelů. Zdrojový kód, co jsem doposud stvořil sem příkládám, prosím vás o rady co je špatně. Děkuju.
Zdrojový kód:
char pole1[9];
char pole2[9];
char pole3[9];
int i;
char *p;
char *q;
char *r;
p=pole1;
q=pole2;
r=pole3;
FILE *fr;
FILE *fw;
if((fr = fopen("text.txt","r")) == NULL) { /* test otevření souboru pro čtení*/
printf("Soubor se nepodarilo otevrit.\n");
return 1;
}
for(i = 0; i < 9; i++) {
fscanf(fr,"%c", &p[i]);
}
for(i = 0; i < 9; i++) {
printf("%c", p[i]);
}
for(i = 10; i < 20; i++) {
fscanf(fr,"%c", &q[i]);
}
for(i = 10; i < 20; i++) {
printf("%c", q[i]);
}
for(i = 21; i < 31; i++){
fscanf(fr,"%c", &r[i]);
}
for(i = 21; i < 31; i++){
printf("%c", r[i]);
}
if(fclose(fr) == EOF) { /* test zavření souboru pro čtení*/
printf("Soubor se nepodarilo zavrit.\n");
return 1;
}
if((fw = fopen("text.txt","a")) == NULL) { /* test otevření souboru pro zápis */
printf("Soubor se nepodarilo otevrit.\n");
return 1;
}
for(i = 21; i < 31; i++){
fprintf(fw, "%c", r[i]);
}
for(i = 0; i < 9; i++){
fprintf(fw, "%c", p[i]);
}
for(i = 10; i < 20; i++){
fprintf(fw, "%c", q[i]);
}
if(fclose(fw) == EOF) { /* testování zavření souboru pro zápis*/
printf("Soubor se nepodarilo zavrit.\n");
return 1;
}