lucjuk utworzono 15 września 2009 utworzono 15 września 2009 Witam! Mój problem jest taki. Mam program (prosty kod niżej), który wczytuje sobie plik, a dokładnie kolejne znaki do tablicy - następnie polskie znaki zamienia na "niepolskie" i zapisuje do z powrotem do nowego pliku. Problem mam taki, że nie są odczytywane spacje i ENTERY w związku z tym w pliku wynikowym mam ciąg liter i muszę sam dzielić go na wyrazy. Ma ktoś pomysł co zrobić, żeby spacje itp. też były odczytywane i potem zwracane do pliku wynikowego? #include <cstdlib>#include <iostream>#include <fstream>#include <stdio.h>#include <conio.h>#include <string.h>using namespace std;int main (void) { ifstream plik("wanda_pl.txt"); ofstream wyjscie("wanda_en.txt"); if (!plik.is_open()){ throw-1; } char tablica[100000]; string wynik [100000]; string tmp; for (int i=0; i<100000; i++) { plik >> tablica[i]; } for(int j=0; tablica[j]!=NULL;j++){ tmp=tablica[j]; if(tmp=="ą") tmp="a"; if(tmp=="ę") tmp="e"; if(tmp=="ł") tmp="l"; if(tmp=="ń") tmp="n"; if(tmp=="ó") tmp="o"; if(tmp=="ć") tmp="c"; if(tmp=="ż") tmp="z"; if(tmp=="ź") tmp="z"; if(tmp=="ś") tmp="s"; wynik[j]=tmp; wyjscie<<wynik[j]; } getch(); return 0;}
robin3d komentarz 14 października 2009 komentarz 14 października 2009 może zamień znak na odpowiadający mu kod ASCII (np. a = 097), potem na kod binarny... Odczytuj po 8 znaków następnie zamieniaj na kod ASCII i następnie dopiero w znak...
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.