可能是我失蹤的一些愚蠢但是,爲什麼我得到這個警告?basename()返回int?
static void foo(char *path) {
char *bname;
char *path2 = strdup(path);
bname = basename(path2);
(與基名線()調用):警告:賦值時將整數指針不進行強制轉換
事實上,如果我改變這一點,警告消失:
bname = (char *)basename(path2);
男人3基地告訴我:
char *basename(char *path);
Both dirname() and basename() return pointers to null-terminated strings.
什麼給?
'man 3 basename'也列出了聲明基本名稱的頭文件,FWIW。 – 2010-05-08 08:06:12