Форум программистов, компьютерный форум CyberForum.ru

Правильное swprintf, правильное wprintf ? - C++

Восстановить пароль Регистрация
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
03.02.2014, 13:39     Правильное swprintf, правильное wprintf ? #1
Вродеж бы по ,,инструкции,,....

C++
1
2
3
4
5
6
7
8
9
 
  ..... wchar_t str[] = L"tanya"; // обозначает, что строка не однобайтная, а двуб
            ..........
 
TCHAR cResponse;
    TCHAR sUsername[64]; // _tcs* functions (с типом TCHAR работают функции который начинаются с префикса _tcs*) 
    int tsislo=swprintf(cResponse, str);
    std::cout << "cResponse "<< tsislo;
    wprintf (cResponse,size_t _tcslen(cResponse ));
Ошибка 2 error C2665: swprintf: ни одна из 2 перегрузок не может преобразовать все типы аргументов D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 68 1 wchar

Ошибка 3 error C2275: size_t: недопустимое использование этого типа в качестве выражения D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 70 1 wchar

Ошибка 6 IntelliSense: отсутствуют экземпляры перегруженная функция "swprintf", соответствующие списку аргументов d:\прога2014\копиявчар\wchar\wchar\wchar.cpp 68 13 wchar

7 IntelliSense: слишком мало аргументов в вызове функции d:\прога2014\копиявчар\wchar\wchar\wchar.cpp 68 36 wchar
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 13:39     Правильное swprintf, правильное wprintf ?
Посмотрите здесь:

C++ правильное освобождение памяти
Правильное деление C++
Правильное применение функций C++
Правильное название файла C++
Правильное понимание C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
casper007
61 / 61 / 21
Регистрация: 12.12.2013
Сообщений: 375
03.02.2014, 16:23     Правильное swprintf, правильное wprintf ? #2
Тут почитай:
TCHAR + float != дружба или плохой wsprintf
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
03.02.2014, 20:30  [ТС]     Правильное swprintf, правильное wprintf ? #3
_stprintf(cResponse, str ); Ведет себя собствено так же.

до меня все таки почти не доходит

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    TCHAR s[50];
    _stprintf(s, TEXT("%f"), 122.2);
    float f = (float)_tstof(s);
 
    tcout << s << std::endl;
    tcout << f << std::endl;
 
    system("PAUSE");
    return 0;
}
TEXT("%f") это вообще что??Цифра- онак чему, да еще и дробная?? float f = (float)_tstof(s); s это же текстовый массив?

Ладно. Просто спрошу так, а то и у самово мозг запутается.

C++
1
TCHAR cResponse
как присвоить что-нибудь, например str?

А то в основном если в гугле что-то находится, то в основном не совсем то, порядком мозголомное и обычно с использованием при этом еще 10 неизвесных понятий.

Хотя пример вобщем замечательный.
casper007
61 / 61 / 21
Регистрация: 12.12.2013
Сообщений: 375
03.02.2014, 21:21     Правильное swprintf, правильное wprintf ? #4
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
_

C++
1
TCHAR cResponse
как присвоить что-нибудь, например str?


TCHAR *Name = L"Dimka";

Лично я использую WCHAR. Намного удобнее (для меня)
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
03.02.2014, 23:25  [ТС]     Правильное swprintf, правильное wprintf ? #5
Это да. Но я ничего не пойму.Вроде
,,Если указан параметр «Use Unicode Character set», тип TCHAR будет транслироваться в тип wchar_t. Если указан параметр «Use Multi-byte character set» то тогда TCHAR будет транслироваться в тип char. Вы можете свободно использовать типы char и wchar_t, и настройки проекта никоим образом не повлияют на использование этих ключевых слов.,,
Выходит это все таки не так?

Ошибка 2 error C2440: =: невозможно преобразовать "wchar_t [6]" в "TCHAR" D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 83 1 wchar

А, в пределах проекта TCHAR играет роль только лиш одного типа char или же wchar_t.

Тогда что это вообще?

C++
1
2
3
4
5
TCHAR *path = new TCHAR[69];
    path= L" Nicolaewits";
    TCHAR Mumba;
    _tcscpy(Mumba, path);
    std::cout << "path "<< path;
Ошибка 2 error C2440: =: невозможно преобразовать "const wchar_t [13]" в "TCHAR *" D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 82 1 wchar

Выходит TCHAR и wchar_t это все же разное, да и char тоже. Или скорее все же это непонятка с указателем.

Нет!
C++
1
2
path= L" Nicolaewits";
    TCHAR Mumba;
Ошибка 2 error C2440: =: невозможно преобразовать "const wchar_t [13]" в "TCHAR" D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 83 1 wchar
Тупо ничего не понимаю!!

C++
1
2
3
TCHAR path;
    path= " Nicolaewits";
    TCHAR Mumba;
Ошибка 2 error C2440: =: невозможно преобразовать "const char [13]" в "TCHAR" D:\Прога2014\Копиявчар\wchar\wchar\wchar.cpp 83 1 wchar

Это все разные типы. как пользоваться TCHAR нискоько не понятно.
casper007
61 / 61 / 21
Регистрация: 12.12.2013
Сообщений: 375
04.02.2014, 10:32     Правильное swprintf, правильное wprintf ? #6
Надеюсь, что модераторы не сочтут это рекламой.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 12:30     Правильное swprintf, правильное wprintf ?
Еще ссылки по теме:

Не правильное вычисление C++
Правильное подключение хедеров C++
Правильное объявление функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.02.2014, 12:30     Правильное swprintf, правильное wprintf ? #7
ТС, наверное, уже обчитался этого:
параметром типа "LPCWSTR"
Yandex
Объявления
04.02.2014, 12:30     Правильное swprintf, правильное wprintf ?
Ответ Создать тему
Опции темы

Текущее время: 16:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru