私はこのコードに問題があります。すべての5の出口のために - :私はつもりとき、それは「いいえファイル」Cコードでエラーが発生しました。 "No file"が表示されます
#include <string.h>
#include <stdio.h>
main (argc, argv)
char *argv[];
{
int fd;
extern int errno;
if (argc < 2) {
fprintf (stderr, "No file\n");
exit(1);
}
if ((fd = creat(argv[1], 0777))< 0){
fprintf(stderr,"Cannot create file %s\n", argv[1]);
exit(1);
}
switch (fork()) {
case -1:
fprintf(stderr, "Fork error\n");
exit(1);
case 0:
close(1);
dup(fd);
close(fd);
execl("/bin/ls", "ls", NULL);
perror("Exec");
break;
default:
wait(0);
close(fd);
}
exit(0);
}
私を見るんだろうと、「組み込み関数 『EXIT』の互換性がない暗黙的な宣言の警告」を出します、それを実行します。
「」を含むのを忘れた –
私は主な宣言を理解できません。 –
@MartinJamesそれはK&Rの宣言です。完璧です。 – fuz