Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
4 / 4 / 3
Регистрация: 20.06.2013
Сообщений: 35

MinWG и его кишки=)

10.01.2015, 17:27. Показов 2010. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
На днях столкнулся с тем, что minWG не может найти функции swprintf, vswprintf. Пишит: error: 'swprintf' was not declared in this scope. Есть конечно ответ здесь
http://www.prog.org.ru/index.p... .msg179484
с записью
QMAKE_CXXFLAGS += -std=c++0x
сделал так
QMAKE_CXXFLAGS += -std=c++0x -U__STRICT_ANSI__
но тута для QT, а я пользуюсь Code::blocks и как реалезовать, что то не доперает.

То есть основная задача выполнить на MinWG приемуществено в среде Code::Blocks следующий код:
C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    wchar_t s[200];
    swprintf(s, L"%d %d",1,2);   //Тут ошибка error: 'swprintf' was not declared in this scope
    wprintf(L"%s",s);
    return 0;
}
Надеюсь ответ найдется и не прийдется писать костыль для перевода в ANSI формат, что бы пользоваться sprintf, а потом обратно в юникод...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2015, 17:27
Ответы с готовыми решениями:

NetBeans IDE и компилятор MinWG(gcc)
Здравствуйте, я только начал писать на C++ в NetBeans IDE и использую компилятор MinGW. И как мне добавить каталог C:\MinGW\bin в PATH.

Чем и как промыть кишки Iphone?
Здравтсвуйте. Имеется Iphone, который изнутри очень пахнет сыростью, хотелось бы вывести этот запах. На работе промываю платы смесью...

Вывалились кишки запросов к бд на страницу сайта, как запихать их обратно?
Запросы к базе данных отображаются на странице вместо того, чтобы обеспечивать отображение на ней данных из бд, выбранных по определённому...

6
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
10.01.2015, 17:32
если верить ссылке:
http://www.cplusplus.com/refer... /swprintf/
то правильный инклуд - это #include <cwchar>
может в нем дело.
0
4 / 4 / 3
Регистрация: 20.06.2013
Сообщений: 35
10.01.2015, 17:39  [ТС]
Ни cwchar, ни wctype.h, ни wchar.h не помогают
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
10.01.2015, 17:46
если верить той же ссылке, то сигнатура у функции такая:
int swprintf (wchar_t* ws, size_t len, const wchar_t* format, ...);
а у вас вызов
swprintf(s, L"%d %d",1,2); - второй аргумент - не число, а нужно число. попробуйте правильный вызов сделать.
1
4 / 4 / 3
Регистрация: 20.06.2013
Сообщений: 35
10.01.2015, 19:30  [ТС]
DU2, ну, ответ вы сказали близко... С указанием размера буффера есть функция snwprintf. И да она работает (это даже лучше чем swprintf)!

Ещё нашел ответ методом тыка Нашел в модуле winuser.h похожую функцию
C++
1
WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
и о чудо, и она работает Работает!

Вот мой отчет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdarg.h>
#include <windows.h>
 
void prnt(const wchar_t *fmt, ...)
{
    va_list ap;
    wchar_t s[200];
 
    va_start(ap,fmt);
    //vswprintf(s,fmt,ap);  //Не работает! объявлена в stdio.h
    //vsnwprintf(s, 200, fmt, ap); //Работает! объявлена в stdio.h
    wvsprintfW(s,fmt,ap); //Работает! объявлена в winuser.h
 
    va_end(ap);
 
    wprintf(L"%s",s);
}
 
int main()
{
    wchar_t s[200];
    //wsprintfW( s, L"The half of %d\n", 1);  //Работает! объявлена в winuser.h
    snwprintf(s, 200, L"The half of %d", 1);    //Работает! объявлена в stdio.h
    //swprintf(s, L"swprintf %d\n",123);  //Не работает! объявлена в stdio.h
 
    wprintf(L"%s",s);
    prnt(L"Hello %d %d",1,2);
    return 0;
}
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.01.2015, 19:52
Лучший ответ Сообщение было отмечено Добрый миломан как решение

Решение

У меня установлен компилятор MinGW 4.9.2 от MinGW-W64 project.
В нём, код из первого поста компилируется даже без предупреждений.
Советую обновить компилятор с MinWG на MinGW "свежей версии".
1
4 / 4 / 3
Регистрация: 20.06.2013
Сообщений: 35
10.01.2015, 21:41  [ТС]
castaway, обновил, помогло. Спасибо!

Добавлено через 2 минуты
castaway, даже не знал, что есть версия 4.9.2. Я считал что последняя версия 4.8.1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2015, 21:41
Помогаю со студенческими работами здесь

Запуск RPD-клиента, мониторинг его процесса и очистка его истории подключений по его завершении
Здравствуйте уважаемые форумчане. С VBS не знаком совершенно, просьба помочь реализовать следующий скрипт: 1. Запуск RDP-клиента...

Написать программу поиска файла на ПК по его расширению, и отправки его на e-mail
Я ищу человека который мне поможет написать программу для поиска файла на ПК по его расширению, и отправка его на e-mail , лучше бы чтобы...

Сравнение ключа массива с переменной и его выведение его значения на экран
Требуется код, в котором будут сравниться ключи массива с некой переменной, и если ключ будет существовать в массиве, то вывести в окно...

Дан массив. Каждый его элемент, больший 4, заменить на его квадрат
дан массив. каждый его элемент,больший 4, заменить на его квадрат помогите пожалуйста

Дан текст. Напечатать его, предварительно преобразовав его следующим образом:
Дан текст. Напечатать его, предварительно преобразовав его следующим образом: б) после каждой буквы ‘g’ добавить букву ‘u’; кто...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru