Witam, mam za zadanie usunąć pierwsze wystąpienie znaku z danego tekstu-plik txt i go wypisać. Napisałem taki program, który działa, ale nie dotyczy on polskich znaków, które też musi uwzględniać. Co zrobić, żeby czytało polskie znaki z pliku i później je wypisywało, a nie jakieś "znaczki"? Byłbym wdzięczny gdyby mi ktoś podpowiedział co muszę zrobić, albo poprawił poniższy kod.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i=0, k=0;
char d[256], ,b;
char znak=' ';
printf("Podaj znak do usuniecia: ");
znak = getchar();
FILE *fd;
if((fd=fopen("tekst.txt", "r")) == NULL)
{
printf("Nie mozna otworzyc programu-bledna nazwa, lub plik nie istnieje\n");
exit(EXIT_FAILURE);
}
while ((b=d[i]=getc(fd))!=EOF)
{
if (b == znak && k<1)
{
while (d[i] != '\0')
{
d[i] = d[i + 1];
i++;
k++;
}
}
putchar(d[i]);
i++;
}
if (k==0)
{
printf("\n nie znaleziono danego znaku w tekscie\n");
}
printf("\n");
system("pause");
return 0;
}