Ich habe diese Hausaufgaben in C. Ich bin Anfänger, also ist es wahrscheinlich sehr einfach, aber trotzdem habe ich ein Problem damit."Zeiger von Integer ohne Besetzung" Warnung beim Öffnen der Datei.
int main(int argc, char* argv){
int fd=open(argv[1], O_RDONLY);
int fileLength=(int)lseek(fd,0,SEEK_END);
lseek(fd,0,SEEK_SET);
char buf[fileLength];
read(fd,buf,fileLength);
int i=0;
for(i=0; i<fileLength; i++){
printf("%c",buf[i]);
}
printf("\n");
}
ich diesen Fehler:
warning: passing argument 1 of ‘open’ makes pointer from integer without a cast
Wenn ich schreibe "file"
statt argv[1]
, alles in Ordnung ist.
, wie Sie das Programm ausgeführt werden? Sie sollten etwas wie './program filename' machen, wobei der Dateiname die Datei ist, die Sie öffnen möchten. – twain249
'int main (int argc, char ** argv) {...} ' – wildplasser
Wechsel von' int main (int argc, char * argv) 'zu' int main (int argc, char * argv []) ' – rbelli