Linux에서 컴파일 할 때 경고 메시지가 표시되는 경우 format not a string literal and no format arguments
이 표시됩니다. snprintf은 세 번째 매개 변수에 대해 const char*
을 표시합니다. const char *INTERFACE = "wlan0"
을 정의하는 것이 잘못 되었습니까?snprintf - 형식이 문자열 리터럴이 아니며 형식 인수가 없음 경고 :
#include <stdio.h>
#include <net/if.h>
#include <string.h>
int main(int argc,char *argv[]){
const char *INTERFACE = "wlan0";
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), INTERFACE);
return 0;
}
나는 경고를받지 못한다. http://ideone.com/BdSQF2 OK 일 것이다. – duDE
"const char * format"이 "% s"처럼 보입니다. – MYMNeo
GCC의 버전은 무엇입니까? ('gcc -v' 만 실행하면 알 수있다). –