почему отличаются аргументы у printf?
От: greenloki  
Дата: 03.05.06 15:53
Оценка:
    ATL::CA2WEX<> str("test");
    printf("%S %08X", str, str);


вывод: test 00650074

стэк перед вызовом printf такой:
0012FBAC   00408148  ASCII "%S %08X" первый аргумент
0012FBB0   0012FDC4  UNICODE "test"  второй аргумент
0012FBB4   00650074                  третий аргумент


почему второй и третий аргументы в стеке у printf отличаются? ведь компилятор не может в compile time определить типы аргументов printf

CA2WEX это простенький ATL класс для хранения и конвертации строк, сорс здесь C:\program files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlconv.h
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.