用 C 创建查询接口(interface)?

标签 c user-interface interface

这是我第一次使用 C 语言编程,我一直在尝试创建查询接口(interface)。

我的意思是说我有一些数据并且我有一个函数 CreateGraph()。

我希望 CreateGraph 能够接受这些查询

CreateGraph <标题> <条形图> <开始日期/时间> <结束日期/时间>

用户在运行时在控制台上输入这些查询。 示例:CreateGraph MyGraph 7 蓝色 10 将生成一个蓝色图表,其中包含 7 个大小为 10 的条形,标题为 myGraph。

对于如何实现这一点非常困惑。谢谢。 (这是基于我试图完成的任务,但我只想要总体思路)

最佳答案

听起来您想要做的是使用命令行参数作为程序执行的标志。在 C 中,您不会专门从命令行调用该函数,因为没有办法这样做(至少据我所知)。但是,您要做的是使用 argcargv

当用 C 语言编写 main 函数时,您通常会直接编写

int main (){
   //code
}

但这并不是唯一的方法。也可以这样写

int main (int argc, char *argv[]){
   //code
}

这些 argc 和 argv 是保存命令行中提供给程序的数据的变量。基本的运行看起来就像

>./a.out

在这种情况下,“./a.out”实际上是一个命令行参数,启动程序运行。所以如果你输入

>./a.out MyGraph 7 blue 10

argc 是一个值为 5 的 int,argv 是一个包含行中每个字符串的数组,以空格分隔

["./a.out","MyGraph", "7", "blue", "10"]

然后可以像 C 中的任何其他 char* 数组一样访问它们。

话虽这么说,您问题中的情况更适合从文件中读取输入,或者在运行时使用 scanf 从用户那里读取输入。

编辑:现在我重读了你的问题,scanf 似乎是一个更好的选择。在 C 语言中,要在程序执行期间获取用户输入,可以使用函数 scanf。我建议在谷歌上搜索如何在 C 中获取用户输入,因为它比我想在这个答案中写的更复杂。 AFAIK,“查询接口(interface)”不是 C 中的东西

关于用 C 创建查询接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227648/

相关文章:

C# 与 C 默认枚举值

python - 系统托盘工具提示中的 PyQt RichText 格式化

c++ - Boost 有 GUI 库吗?

c# - Reflection.Emit 实现接口(interface)的泛型方法约束

c++ - 如何为我的自定义编译器制作解决方案资源管理器或项目界面

c - 替换c中的单词

c - Flex,连续扫描流(来自套接字)。我是否错过了使用 yywrap() 的内容?

c++ - 在同一个 UI 中使用 QVTKWidget 和 QOpenGLWidget?

java - 我将如何重载接口(interface)中的方法?

c - float 组的大小