可能是我失踪的一些愚蠢但是,为什么我得到这个警告?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