Što se tiče C++ totalni sam početnik. Imam za napraviti sljedeći zadatak. Napisati program za konverziju u C++ koji će transformirati datoteku pisanu u tabeli znakova ISO-8859-2 u tabelu UTF-8 (Unikod). Ja sam nešto napravio, ali to ne radi kako treba, kažem totalni sam početnik, možda sam pogrješio i u algoritmu pa program nema smisla, Stvarno naznam, ako tko može neka mi pomogne ili da barem kaže gdje sam pogrješio.
Koliko sam shvatio zadatak, mislim da 1. treba upisati znakove u datoteku, i ukoliko se ti znakovi slažu sa č,ć,ž,š,đ,... ispisati taj sadržaj
prebaciti ih utf-8 kod, a sad ne znam dal to treba u neku novu datoteku, jer ovako ne radi, ne znam nit zašto ne provjerava ove znakove...
Evo koda...
Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
FILE *dat;
FILE *fp;
char string [80];
char sznak;
if((fp=fopen ("test.txt","w"))==NULL)
{
puts("\n Pogreska u kreiranju datoteke!");
exit(1);
}
printf("\n Upisite znakove u datoteku:");
gets(string);
fputs(string,fp);
if (*string == sznak)
{
switch (sznak)
{
case 'ć': return ( 263 ); break ;
case 'Ć': return ( 262 ); break ;
case 'š': return ( 353 ); break ;
case 'Š': return ( 352 ); break ;
case 'č': return ( 269 ); break ;
case 'Č': return ( 268 ); break ;
case 'đ': return ( 273 ); break ;
case 'Đ': return ( 272 ); break ;
case 'ž': return ( 382 ); break ;
case 'Ž': return ( 381 ); break ;
default: break;
}
}
else
printf ("\n U datoteci nema posebnih znakova \n");
dat=fopen("test.txt","r");
printf("\n Ispis sadrzaja datoteke: \n");
while(!feof(dat))
putchar(getc(dat));
fclose(dat);
getch();
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
FILE *dat;
FILE *fp;
char string [80];
char sznak;
if((fp=fopen ("test.txt","w"))==NULL)
{
puts("\n Pogreska u kreiranju datoteke!");
exit(1);
}
printf("\n Upisite znakove u datoteku:");
gets(string);
fputs(string,fp);
if (*string == sznak)
{
switch (sznak)
{
case 'ć': return ( 263 ); break ;
case 'Ć': return ( 262 ); break ;
case 'š': return ( 353 ); break ;
case 'Š': return ( 352 ); break ;
case 'č': return ( 269 ); break ;
case 'Č': return ( 268 ); break ;
case 'đ': return ( 273 ); break ;
case 'Đ': return ( 272 ); break ;
case 'ž': return ( 382 ); break ;
case 'Ž': return ( 381 ); break ;
default: break;
}
}
else
printf ("\n U datoteci nema posebnih znakova \n");
dat=fopen("test.txt","r");
printf("\n Ispis sadrzaja datoteke: \n");
while(!feof(dat))
putchar(getc(dat));
fclose(dat);
getch();
return 0;
}