Prosím o radu kde mám chybu...melo by to překládat ale jaksi to nefunguje :-(
Fórum › C / C++
Chyba
Pardon zapoměl jsem přidat kód:
#include <utility>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main () {
vector<pair<string, string> > translations;
translations.push_back(make_pair("tělo", "body"));
translations.push_back(make_pair("odstavec", "p"));
string line;
string content;
content = "";
while (getline(cin, line)) {
content += line+'\n';
}
for (vector<pair<string, string> >::iterator it = translations.begin() ; it != translations.end(); ++it) {
size_t index = 0;
while (true) {
index = content.find(it->first, index);
if (index == string::npos) {
break;
}
content.replace(index, it->first.length(), it->second);
index += it->second.length();
}
}
cout << content;
}
Nebylo by od věci napsat, zda dojde k chybě při překladu nebo až při běhu a jaké chybové hlášení obdržíš. Navíc netušíme, co tvůj kód má dělat.
hu
Mně to tedy funguje. Odstavec mi to přeložilo ok, tělo ne, ale při záměně za telo to fungovalo, takže bude chyba v kódování. Program má jiné kódování než vstup. Buď musíš ošetřit vstup nebo ty překlady také načítat ze souboru, což by nebylo na škodu. Program zůstane vždy stejný, jen budeš editovat texťák a definovat tak překlady.
BTW: tělovýchova se přeloží také, tzn. bylo by vhodné přidat ošetření. Pokud to ale má být na to počeštěné HTML a budeš tam psát i závorky, tak stačí do překladů dávat <tělo, <body.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze