You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言不使用libcurl调用curl命令编译报错原因求解

问题解答

报错根因

  • C语言语法明确规定,全局作用域下的变量初始化只能使用编译期可确定的常量值,你现在直接把system()函数的返回值用来初始化全局变量status,而system()是运行时才会执行的函数,它的返回值要等程序运行后才能得到,不属于编译期常量,完全不符合语法要求,因此触发编译报错。

修复方案

把变量定义和system()调用逻辑移到main函数内部即可,修改后可用的代码示例如下:

#include <stdlib.h>
int main(void) {
    int status = system("curl -X GET \"https://dex.binance.org/api/v1/klines?symbol=&interval=&limit=&startTime=&endTime=\"");
    // 可在此处添加对status的判断逻辑,确认curl命令是否执行成功
    return 0;
}

如果后续需要获取curl请求返回的接口数据,而不仅仅是命令执行的状态码,可以改用popen函数读取curl命令的标准输出内容。

内容的提问来源于stack exchange,提问作者armanvanlendel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:06:03