Dlaczego niepotrzebne? Czemu w tym przypadku należy je usunąć?
Po drugie chciałbym zapisać wszystkie znaki, np. w tablicy.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int n;
void Wczytaj(){
int i=0;
//WCZYTYWANIE Z PLIKU
FILE* plik=fopen("in.txt", "r");
if(plik==NULL){
printf("Plik nie istnieje!\n");
return;
}
fscanf(plik, "%d", &n);
char znak;
char tekst[6];
char znaki[10];
while(fscanf(plik, "%c %s", &znak, tekst) == 2){
printf("%c%s", znak, tekst);
znaki[i]=znak;
i++;
}
for(i=0; i<n; i++)
printf("%c", znaki[i]);
fclose(plik);
}
int main() {
Wczytaj();
return 0;
}
W miejscu, gdzie powinny wyświetlić się znaki, nie wyświetla się nic.
EDIT:
Dodając wyświetlanie licznika ( zmienna i ) widzę, że fscanf wykonuje się 8 razy. Nie powinien wykonać się tylko n razy?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int n;
void Wczytaj(){
int i=0;
//WCZYTYWANIE Z PLIKU
FILE* plik=fopen("in.txt", "r");
if(plik==NULL){
printf("Plik nie istnieje!\n");
return;
}
fscanf(plik, "%d", &n);
char znak;
char tekst[6];
char znaki[10];
while(fscanf(plik, "%c %s", &znak, tekst) == 2){
printf("%c%s", znak, tekst);
znaki[i]=znak;
i++;
printf(" %d ", i);
}
for(i=0; i<n; i++)
printf("%c", znaki[i]);
fclose(plik);
}
int main() {
Wczytaj();
return 0;
}