На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > recv POP3
      Почему после работы следующего кода MessageBox показывает кракозяблики?
      ExpandedWrap disabled
        CString szUser, szBuffer;
        .
        .
        .
        szUser=_T("USER XXXXXX@mail.ru");
        const TCHAR* pUser = szUser.GetBuffer();
        send(hSocket, (const char *)pUser, szUser.GetLength(), 0);
        TCHAR* pBuffer = szBuffer.GetBuffer(256);
        int dwRet = recv(hSocket, (char *)pBuffer, 256,0);
        MessageBox(0, szBuffer.GetBuffer(), 0,MB_OK);
      Сообщение отредактировано: vtg -
        szBuffer нигде не инициализируется, ты же recv'ом в pBuffer пишешь, а в MessageBox() отображаешь szBuffer!

        P.S. Полезный совет: не мешай MFC-строки с си-строками, где это не нужно, это и привело к путанице
          А почему, тогда, так
          ExpandedWrap disabled
            CString szUser, szBuffer;
            .
            .
            .
            szUser=_T("USER XXXXXX@mail.ru");
            send(hSocket, (const char *)szUser.GetBuffer(), szUser.GetLength(), 0);
            int dwRet = recv(hSocket, (char *)szBuffer.GetBuffer(256), 256,0);
            MessageBox(0, szBuffer.GetBuffer(), 0,MB_OK);

          MessageBox показывает то же?
            Цитата
            If you use the pointer returned by GetBuffer to change the string contents, you must call ReleaseBuffer before using any other CSimpleStringT member methods.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0315 ]   [ 16 queries used ]   [ Generated: 27.04.24, 20:00 GMT ]