Мне нужно открыть ZIP архив, затем найти в нём файл, и вывести содержимое этого файла(файл .txt). Для этого я нашел пример этого который работает с библиотекой libzip. Но когда я запускаю эту программу, то символы английской раскладки выводятся нормально, а вот символы кирилицы выводятся каким то набором символов. Подскажите пожалуйста что можно сделать в этой ситуации.
Код
#include <iostream>
#include <zip.h>
#include <locale.h>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "");
//Open the ZIP archive
int err = 0;
zip* z = zip_open("file.zip", 0, &err);
//Search for the file of given name
const char* name = "text.txt";
struct zip_stat st;
zip_stat_init(&st);
zip_stat(z, name, 0, &st);
//Alloc memory for its uncompressed contents
char* contents = new char[st.size];
//Read the compressed file
zip_file* f = zip_fopen(z, name, 0);
zip_fread(f, contents, st.size);
zip_fclose(f);
//And close the archive
zip_close(z);
cout << contents;
//Do something with the contents
//delete allocated memory
delete[] contents;
}