Мне дан текстовый файл, содержащий пару символов в строке. Я должен читать его, строчно, и применять лексический анализатор для каждого символа. Затем я пишу свой анализ в другом файле.Как читать символы ... и французские акценты из текстового файла
С помощью следующего кода, у меня нет никаких проблем с чтением французского акцента, но я понял, что символ «...» (это один символ не 3 точки) превращается в «&.
Примечание: Мой лексический анализатор должен использовать строки, поэтому я преобразовал строку wstring в строку.
wfstream SourceFile;
ofstream ResultFile (ResultFileName);
locale utf8_locale(std::locale(), new codecvt_utf8<wchar_t>);
SourceFile.imbue(utf8_locale);
SourceFile.open(SourceFileName);
while(getline(SourceFile, wLineBuffer))
{
string LineBuffer(wLineBuffer.begin(), wLineBuffer.end());
...
Редактировать: Раймонд Чен считал, что персонаж потерян из-за моего преобразования из wstring в строку. Итак, новый вопрос: Как преобразовать из wstring в строку без преобразования символов?
Edit: Пример файл
"stringééé"
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
Identificateur1
Identificateur2
// Commentaire22
/**/
/*
Autre commentaire
…
*/
Вы уверены, что текстовый файл, который вы указали, это UTF-8? –
Является ли эллипсис потерянным в 'getline' или при преобразовании из' wstring' в 'string'? –
@DidierTrosset Да, когда я открываю его с помощью notepad2, я перехожу к кодировке, и он говорит utf-8. – Dave