Russian Qt Forum
Май 08, 2024, 21:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: исправить warning  (Прочитано 4893 раз)
slan
Гость
« : Июль 05, 2011, 11:27 »

при компиляции в QTCreator 2.0.1 (win xp) функции printf c параметром long long int получаю варнинг:
unknown conversion type character 'l' in format

Прописывал в файл .pro такую опцию:
QMAKE_CXXFLAGS += -std=c99

Прежний варнинг остался и добавился еще вот такой:
cc1plus.exe:: error: warning: command line option "-std=c99" is valid for C/ObjC but not for C++

Подскажите как избавиться
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июль 05, 2011, 11:38 »

[оффтоп]
Объясни, зачем использовать пережиток прошлого printf, если есть более удобные и безопасные вещи?
[/оффтоп]
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
slan
Гость
« Ответ #2 : Июль 05, 2011, 11:41 »

[оффтоп]
Объясни, зачем использовать пережиток прошлого printf, если есть более удобные и безопасные вещи?
[/оффтоп]

Просто нет желания переписывать существующий код.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Июль 05, 2011, 11:47 »

Кинь сюда код, на который ругается.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
slan
Гость
« Ответ #4 : Июль 05, 2011, 11:55 »

Код:
char Message[13];
long long int IdOwner = 12345678912;
sprintf(&Message[0], "%012lli", IdOwner);
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Июль 05, 2011, 12:03 »

У меня компилится без ворнингов.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
slan
Гость
« Ответ #6 : Июль 05, 2011, 12:11 »

прошу пардону, не так задал лонг лонг инт, попробуйте вот так:
Код:
char Message[13];
long long int IdOwner = 12345678912LL;
sprintf(&Message[0], "%012lli", IdOwner);
   
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Июль 05, 2011, 12:52 »

То же все нормально.
main.cpp
Код
C++ (Qt)
#include <stdio.h>
 
int main () {
 char Message[13];
 long long int IdOwner = 12345678912LL;
 sprintf(&Message[0], "%012lli", IdOwner);
 
 return 0;
}
 
Компиляю:
Код
Bash
g++ -Wall ./main.cpp
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
slan
Гость
« Ответ #8 : Июль 05, 2011, 13:15 »

странно это все. Ну да ладно, спасибо за помощь.
Записан
kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4727



Просмотр профиля WWW
« Ответ #9 : Июль 05, 2011, 13:42 »

а компилятор vs2008 выдаёт только ворнинг о небезопасности sprintf Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.153 секунд. Запросов: 22.