Russian Qt Forum

Qt => Вопросы новичков => Тема начата: slan от Июля 05, 2011, 11:27



Название: исправить warning
Отправлено: 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++

Подскажите как избавиться


Название: Re: исправить warning
Отправлено: Пантер от Июля 05, 2011, 11:38
[оффтоп]
Объясни, зачем использовать пережиток прошлого printf, если есть более удобные и безопасные вещи?
[/оффтоп]


Название: Re: исправить warning
Отправлено: slan от Июля 05, 2011, 11:41
[оффтоп]
Объясни, зачем использовать пережиток прошлого printf, если есть более удобные и безопасные вещи?
[/оффтоп]

Просто нет желания переписывать существующий код.


Название: Re: исправить warning
Отправлено: Пантер от Июля 05, 2011, 11:47
Кинь сюда код, на который ругается.


Название: Re: исправить warning
Отправлено: slan от Июля 05, 2011, 11:55
Код:
char Message[13];
long long int IdOwner = 12345678912;
sprintf(&Message[0], "%012lli", IdOwner);


Название: Re: исправить warning
Отправлено: Пантер от Июля 05, 2011, 12:03
У меня компилится без ворнингов.


Название: Re: исправить warning
Отправлено: slan от Июля 05, 2011, 12:11
прошу пардону, не так задал лонг лонг инт, попробуйте вот так:
Код:
char Message[13];
long long int IdOwner = 12345678912LL;
sprintf(&Message[0], "%012lli", IdOwner);
   


Название: Re: исправить warning
Отправлено: Пантер от Июля 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
 


Название: Re: исправить warning
Отправлено: slan от Июля 05, 2011, 13:15
странно это все. Ну да ладно, спасибо за помощь.


Название: Re: исправить warning
Отправлено: kambala от Июля 05, 2011, 13:42
а компилятор vs2008 выдаёт только ворнинг о небезопасности sprintf :)