gpt4 book ai didi

c - 从终端输入到C文件中

转载 作者:行者123 更新时间:2023-11-30 20:39:58 25 4
gpt4 key购买 nike

我想从终端获取用户输入,然后从终端获取该输入并写入新文件。在此我使用 usage[]用于显示我的 C 程序的语法文件如下: http://pastee.co/VP10OH

#include "common.h"

/* system headers */
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "bio.h"

/* interface headers */
#include "vmath.h"
#include "nmg.h"
#include "rtgeom.h"
#include "bu.h"
#include "raytrace.h"
#include "wdb.h"

static const char usage[] = "Usage: %s Camera x1 y1 z1 look_at x2 y2 z2 Light x3 y3 z3 -o output_file brlcad_db.g object(s)\n";
int main( int argc, char *argv[] )
{
bu_setprogname(argv[0]);
int c;

while ((c = getopt(argc, argv, "ClL")) != -1)
{
switch (c)
{
case "C":
printf("camera{<%s", argv[1], ",", argv[2], ",", argv[3], ">}");
break;
case "l":
printf("camera{%s", argv[4], ",", argv[5], ",", argv[6], "}");
break;
case "L":
printf("light {%s", argv[7], ",", argv[8], ",", argv[9], "}");
break;
case 'o': /* Output file name */
/* grab output file name */
break;

default:
bu_exit(1, usage, argv[0]);
break;
}
}
}

但我无法接受用户的输入(文件中缺少某些内容,而且我也很困惑在哪里给出打开文件命令?)并将其写入一个新文件中。运行后make file_name ,它给出的错误如下:

http://ctrlv.in/363829

还请解释这意味着什么以及如何调试它:

error: ISO C90 forbids mixed declarations and code [-Werror=pedantic]

最佳答案

您可能正在使用 GCC编译器。默认情况下,gcc 接受 C90标准代码。

你想编译

gcc -Wall -g -std=c99 

要求 GCC 发出几乎所有警告、调试信息,并接受 C99语言标准。

顺便说一句,您可能对 getline(3) 感兴趣函数,您可以考虑(如果在 Linux 上编码)使用 GNU readlinencurses图书馆。

如果使用 GNU make考虑编辑 Makefile (可能是 CFLAGS= 行)或重新生成它(例如,为使用 的项目将更好的参数传递给 ./configure autoconf,或者以某种更好的方式再次运行cmake,等等...)

关于c - 从终端输入到C文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24984043/

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