#include<iostream>
using namespace std;
main(){
wchar_t wbuff[10];
char buff[10];
cout << sizeof(wbuff) << endl; // 20 байт
cout << sizeof(buff) << endl; // 10 байт
// Все правильно
return 0;
}
Вопросы по использованию UNICODE
Код:
Код:
#include<iostream>
#include<tchar.h>
#define _UNICODE // TCHAR как wchar_t
using namespace std;
main(){
TCHAR wbuff[10];
cout << sizeof(wbuff) << endl; // но 10 байт, как char
return 0;
}
#include<tchar.h>
#define _UNICODE // TCHAR как wchar_t
using namespace std;
main(){
TCHAR wbuff[10];
cout << sizeof(wbuff) << endl; // но 10 байт, как char
return 0;
}
Почему при включенном макросе выдает 10 байт (т.е. TCHAR есть char)?
tchar.h – «устаревшее» имя файла, как зовется его «современный аналог»?
Есть ли, что либо подобное для типов string и wstring?
Но если есть желание извратнутся, то _UNICODE нуна запихнуть в stdafx.h и перекомпилить stdafx.cpp
А что же ты хотел? #define _UNICODE стоит ПОСЛЕ #include <tchar.h>. Как прекомпилируется tchar.h?
Код:
#define _UNICODE
#include<iostream>
#include<tchar.h>
// теперь все правильно
#include<iostream>
#include<tchar.h>
// теперь все правильно
спасибо!
Них не правильно. Я ж написал - в стдафх всунь.
Alexandoros. =))) Такого понятия как stdafx вобще может не быть в проекте. А в конкретном случае - все верно.
Цитата:
А в конкретном случае - все верно.
Когда аффтар через два дня задаст вопрос, почему у него не работает прога, сам его пинать будеш.
Где здесь будут прекомпилед хедеры?
Код:
#define _UNICODE
// а тут уже хейдеры...
// а тут уже хейдеры...
Цитата: Alexandoros
aks Как ты прекомпилед хедер не назовеш, а плыть надо.
Precompiled header'а тоже может не быть. А для указания define для всего проекта существуют опции компилятора. В частности, для MC - это /D.