Добрый день! Сейчас занимаюсь изучением сокетов и столкнулся с проблемой
wstring strTheNameOfTheFile = FindFileData.cFileName;
char* serial = (char*)strTheNameOfTheFile.c_str();
iResult = send(ConnectSocket, serial, (int)strlen(serial), 0);
:
тут я передаю юникод строку конвертированную в char*
сервер:
char* echo = new char[1024];
do {
iResult = recv(AcceptSocket, echo, 1024, 0);
if (iResult > 0 && iResult == 1024) {
FILE * pFile;
stringstream ss;
ss << counter << echo;
string str(ss.str());
cout << iResult<<endl;
pFile = fopen(str.c_str(), "ab");
fwrite(echo, iResult, 1, pFile);
fclose(pFile);
}
else if (iResult < 1024 && iResult != 0) {
FILE * pFile;
stringstream ss;
ss << counter << echo;
string str(ss.str());
wstring ws(&echo[0], &echo[(int)strlen(echo)]);
wcout << ws << endl;
pFile = fopen(str.c_str(), "ab");
fwrite(echo, iResult, 1, pFile);
fclose(pFile);
counter++;
int sendD = send(AcceptSocket, sendC, 3, 0);
}
else
cout << "Disconnect..." << endl;
} while (iResult > 0);
тут пытаюсь принять ansii и конвертировать в юникод
помогите пожалуйста разобраться с тем, как правильно производить конвертацию
Извиняюсь за повторение кода или использование устаревших C функций для управления символами. С понимаем символов пока все плохо