LINUX.ORG.RU

Warnings при использовании basename ()


0

0

Никак не могу избавиться от предупреждений.

#include <stdio.h>
#include <string.h>
int main (int argc, char **argv)
{
  printf ("%s\n", basename ((const char *) (argv [0])));
  return 0;
}

gcc -Wall -o foo foo.c
foo.c:5: warning: implicit declaration of function `basename'
foo.c:5: warning: format argument is not a pointer (arg 2)
anonymous

Ответ на: комментарий от no1sm

Теперь вид сбоку:

#include <stdio.h>
/***#include <string.h>***/
#include <libgen.h>
int main (int argc, char **argv)
{
  printf ("%s\n", basename ((const char *) (argv [0])));
  return 0;
}

gcc -Wall -o foo foo.c
foo.c:6: warning: passing arg 1 of `__xpg_basename' discards qualifiers
from pointer target type

anonymous
()
Ответ на: комментарий от anonymous

/* Return final component of PATH.

This is the weird XPG version of this function. It sometimes will
modify its argument. Therefore we normally use the GNU version (in
<string.h>) and only if this header is included make the XPG
version available under the real name. */
extern char *__xpg_basename (char *__path) __THROW;
#define basename __xpg_basename
ключевое слово: GNU version...#define __USE_GNU
#include <string.h>, так ок?

no1sm ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.