Witam, jestem nowy w C i mam problem z pobieraniem i wyprowadzaniem danych z plików.
Otrzymałem zadanie aby w zmienić w pliku co drugi znak na '@'. (np. 123456 na 1@3@5@)
Postanowiłem wczytać to do tablicy za pomocą fgets() a następnie co drugi jej element zmienić na '@', a następnie wypisać ją z powrotem do pliku. I tutaj napotkałem problem. (Jeżeli ktoś mógłby polecić jakiś tutorial, książkę itp. która by mi wyjaśniła jak w C pracuje się na plikach byłbym wdzięczny, w C++ nie miałem problemu ale tutaj to coś mi nie idzie)
1.Jak usunąć zawartość pliku i wpisać do niego zawartość nowej tablicy. (Probowalem fputs, fwrite ale nie jestem w stanie zrozumieć jak to działa)
FILE *plik2;
char tablica[512];
if((plik2=fopen("zadanie2.txt","r"))==NULL)
{
printf("Blad otwarcia pliku\n");
return 1;
}
while(feof(plik2)==0)
{
fgets(tablica,512,plik2);
}
printf("Zawartosc tablicy: %s",tablica);
fseek(plik2,0L,SEEK_SET);
int i,j=0;
for(i=1;i<sizeof(tablica);i++,j++) // (*) Wykonuje sie 512 razy, tak wiem, że to przez sizeof(tablica)
{
if(i%2==0)
{
tablica[j]='@';
}
}
printf("\n %d",i);
printf("\nZawartosc tablicy po zmianach: %s",tablica);
fclose(plik2);