Program przepisujący imiona z jednego pliku do drugiego

2018-12-14 10:26
0

Chciałem napisać program, który przepisywałby imiona z jednego pliku (imiona.txt) do drugiego (wypisz.txt).
Wyskakuje mi ostrzeżenie "format '%s' expects argument of type 'char ', but argument 3 has type 'char ()[15]'"

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

int main(){

    FILE *imiona;
    FILE *wypisz;

    char imie[15][15];
    int i, n=0;

    imiona=fopen("imiona.txt", "r");
    wypisz=fopen("wypisz.txt", "w");

    while (fscanf(imiona, "%s", &imie[n])==1) n++;

    for (i=0; i<n; i++){
    fprintf(wypisz, "%s\n", imie[i]);
    }

    printf("Przepisano imiona");

    fclose(imiona);
    fclose(wypisz);

return 0;

}

Nie mogę znaleźć błędu. Proszę o pomoc, z góry dziękuję

edytowany 2x, ostatnio: Koziołek, 2018-12-14 10:32
formatowanie kodu jest w trzech ciapkach - Koziołek 2018-12-14 10:33

Pozostało 580 znaków

2018-12-14 10:36
2

char imie[15][15] to tablica piętnastu tablic charów. imie[n] to wskaźnik na n-tą tablicę charów (bo w C nazwa tablicy to jednocześnie wskaźnik na nią), czyli właśnie to, czego oczekuje fscanf. A Ty jeszcze bierzesz jeszcze raz adres tego, pisząc &imie[n], otrzymując coś zupełnie innego…

Pozostało 580 znaków

2018-12-14 10:38
0

Dziękuję bardzo za pomoc :)

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0