gpt4 book ai didi

c - "expected declaration specifiers"错误信息

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:08 28 4
gpt4 key购买 nike

我目前正在大学学习 C 语言,所以这是一项家庭作业,但我有一个小问题。我猜我只是误判了语法或者遗漏了一些非常明显的东西。我的编译器告诉我有:

expected declaration specifiers or "..." before constant

并指向O_RDWR

我在 Stack Exchange 上进行了 google 和搜索,但似乎没有任何具体内容。遵循 C 引用中的语法就可以了。我环顾四周,它说我没有预定义 typedef,但我已经尝试过但无济于事。

根据编译器,我用 **

标记了导致问题的部分
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>

int main (int argc, char *argv[])
{
int count;

printf ("This program was called \"%s\".\n",argv[0]);

if (argc > 1)
{
for (count = 1; count < argc; count++)
{
printf("argv[%d] = %s\n", count, argv[count]);
}
}
else
{
printf("The command had no arguments.\n");
}

if (argc == 4)
{
printf("There are the correct number of arguments(4)");
}
else
{
printf("Not enough arguments! please try again");
}

**int open(const char *argv[1], O_RDWR);

return 0;**
}

最佳答案

int open(const char *argv[1], O_RDWR); 

你想通过这个声明做什么?编译器将其视为函数声明,而不是函数调用。它失败了,因为 O_RDWR 不是类型名称。如需调用open() ,语法应该是这样的:

int fd = open(argv[1], O_RDWR);
if(fd != -1)
{
// File opened OK. Proceed with file operations.
}
else
{
// File failed to open. Handle error occured
}

关于c - "expected declaration specifiers"错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12522219/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com