Warnung: inkompatible implizite Deklaration der eingebauten Funktion ‘printf’ [enabled by default]

Lesezeit: 1 Minute

Ich verwende den folgenden C-Code:

#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>

int main()
{
    int file=0;
    if((file=open("testfile.txt",O_RDONLY)) < -1)
            return 1;
    char buffer[19];
    if(read(file,buffer,19) != 19)  return 1;
    printf("%s\n",buffer);

    if(lseek(file,10,SEEK_SET) < 0) return 1;

    if(read(file,buffer,19) != 19)  return 1;
    printf("%s\n",buffer);
    return 0;
}

Nach dem Kompilieren wird eine Warnung ausgegeben:

warning: incompatible implicit declaration of built-in 
function ‘printf’ [enabled by default]

Was bedeutet das und wie kann ich den C-Compiler beruhigen, damit er die Warnung nicht auslöst?

  • #include <stdio.h>

    – Yu Hao

    18. November 2013 um 6:00 Uhr

  • mögliches Duplikat von c – Warnung: implizite Deklaration der Funktion ‘printf’

    – Kara

    18. November 2013 um 6:03 Uhr

Sie müssen hinzufügen #include <stdio.h> an den Anfang Ihrer Datei.

  • @rkioji, weil der Compiler eine Vermutung über die Definition einer Funktion anstellt und eine gute Vermutung über die in stdio.h vorhandene Funktion anstellt

    – Raul

    2. Juni 2019 um 6:02 Uhr

1409000cookie-checkWarnung: inkompatible implizite Deklaration der eingebauten Funktion ‘printf’ [enabled by default]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy