c++ excel кодировка
не понимаю где именно надо указывать кодировку и почему хардкод он вводит нормально в файл а то что берет из другого файла он вводит как кашу
list <string> lStreet;
map <int, double> House;
fout.open("D:\\Начисления_дома.csv");
fout << "№ строки ; Улица ; № дома ; Начислено;\n";// это вводится правильно
lStreet.unique();
int i = 1;
auto it = lStreet.begin();
for (auto iter : House)//а вот тут каша
{
fout << i + delimiter;
fout << *it + delimiter;
fout << iter.first + delimiter;
fout << iter.second + delimiter + '\n';//выше в коде они заполняются (если надо будет дополню код тут)
it++;
i++;
}
fout.close();```
Ответы (1 шт):
Автор решения: Константин Николаевич Бояр II
→ Ссылка
Из документации Microsoft Docs https://docs.microsoft.com/ru-ru/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-170
fopen поддерживает файловые потоки Юникода. Чтобы открыть файл Юникода, передайте флаг ccs=encoding, задающий нужную кодировку, в fopen следующим образом.
FILE *fp = fopen("newfile.txt", "rt+, ccs=UTF-8");
Допустимые значения для ccs кодирования: UNICODE, UTF-8и UTF-16LE.
То есть в Вашем варианте я так понимаю нужно просто дописать в 4 строке
fout.open("D:\\Начисления_дома.csv", "rt+, ccs=UTF-8");