Tag: 命令行

帮助基本编程

我觉得这个问题更多是我对指针的理解,但这里就是这样。 我想在C中创建一个系统程序,它以数学运算符value1 value2的forms执行计算。 示例math + 1 2.这将在屏幕上产生3。 我在比较或总结这些数字时遇到了麻烦。 这是我到目前为止: #include #include #include int main( int ac, char* args[] ) { int total; if (strcmp(*++args,”+”) == 0) { } printf(“Total= “, value1); if (strcmp(*args,”x”) == 0) printf(“multiply”); if (strcmp(*args,”%”) == 0) printf(“modulus”); if (strcmp(*args,”/”) == 0) printf(“divide”); return 0; } 我可以做一个字符串比较来获取运算符但是很难添加这两个值。 我试过了: int value1=atoi(*++args); 任何帮助,将不胜感激。

在C中的参数之前和之后处理命令行选项

到目前为止,我一直在使用getopt_long来解析命令行C程序的选项。 有没有办法在遇到非选项参数时停止getopt_long解析? 如果没有,在C中处理这个问题的最佳方法是什么? 举个例子,我想以类似于git的方式处理命令,并且在命令之前有一般参数,在它之后有特定于命令的参数: git [general options] [command options] 例如: git –bare commit -a git -p –bare status -s -p和–bare是常规选项,可以与所有命令一起使用,而-a特定于commit命令, -s特定于status命令。 使用getopt_long将首先尝试解析所有选项,然后保留要处理的非选项参数。 理想情况下,一旦我点击非选项(即命令),就会停止解析,然后将剩余的参数传递给特定于命令的选项解析器。

C:检查命令行参数是否为整数?

签名的isdigit int isdigit(int c); atoi签名 int atoi(const char *nptr); 我只是想检查传递的命令行参数是否是整数。这是C代码: #include #include #include int main(int argc, char *argv[]) { if (argc == 1) return -1; printf (“Hai, you have executed the program : %s\n”, argv[0]); if (isdigit(atoi(argv[1]))) printf (“%s is a number\n”, argv[1]); else printf (“%s is not a number\n”, argv[1]); return 0; } 但是当我传递一个有效数字时,输出并不像预期的那样: […]

在C中执行时显示%已完成

我有一个C程序需要5分钟才能执行。 所以我想在执行时是否能够显示完成的百分比或用户的任何类型的交互,因为闪烁的光标有点沉闷。 我正在考虑显示百分比,但我可以在某种程度上擦除,例如,如果任务1结束我放25%然后在任务2结束后25%变为50%? 在一些好的互动欢呼声中给我你的意见!=)

如何在Xcode中编译包含多个文件的C程序

我在Mac上运行Mac OS X 10.6.3和Xcode 3.2.1 64位,我想知道是否有可能在Xcode中编译带有多个.c文件的C程序。 提前致谢!

gcc:命令行参数在汇编代码中引用不同

我习惯看到(约定(A))引用的命令行参数: pushl %ebp movl %esp, %ebp movl (%ebp), %eax # argc movl 4(%ebp), %ebx # pointer to argv[0] string movl 8($ebp), %ecx # pointer to argv[1] string 有时,我看到列表的偏移量为8,这不是(主要)问题。 我在程序中注意到的是这个翻译和引用,我很困惑,得到argv[1] (约定(B)): movl 0xc(%ebp), %eax # pointer to a pointer to argv[0] (argc is at offset 8) addl $0x4, %eax # argv[1] is a pointer at offset […]

如何在不停止C程序的情况下按下最后一个键?

使用命令行界面编写应用程序,我想知道是否按下了F1或ESC或箭头键。 这样做最简单的方法是什么? 我想避免使用readline类型库。 这是一个特定于Linux的问题; 该程序不是multithreading的。

使用popen()在命令行中打开程序?

是否可以使用其他程序打开程序? 例如:我想在C中创建一个命令行应用程序,它将提示用户输入程序名称(比如说Microsoft Word.app),该程序将启动。 我会做这样的事情: #include #include int main (int argc, const char * argv[]) { char programName[1000]; printf(“Type in the name of the program you would like to open: “); scanf(“%s”, programName); popen(programName); } 但是,popen()要求我另一个char。 我如何使用popen()打开程序? 编辑:以下代码有效! #include #include int main (int argc, const char * argv[]) { char programName[1000]; char app[100] = “.app”; char […]

从C程序调用命令行

我在C中编写命令行应用程序,并且从程序中,我想调用其他命令行应用程序。 例如(并且只作为一个明显的例子!),说我想写一个调用java编译器的C app。 首先,我该怎么做? 是否有一个直接调用命令行的C函数? 对于两个,我如何获取java编译器显示的正常文本输出并通过c程序显示它? 我很抱歉,如果这听起来有点疯狂,但我对C很新,我之前从未做过这样的事情。 我很想开始编写一些这样的实用程序风格的应用程序。 如果重要的是,我目前正在运行Windows,但如果可能的话,我更喜欢与平台无关的方法,因为我不时使用Linux。

如何在C中的命令行参数中传入空字符?

我仍然想知道如何传入空字符作为命令行参数,也许这样可以将单个字符串作为参数传递到表单中: “到\ 0BE \ 0or \ 0not \ 0℃至\ 0BE \ 0” 然后解析它。 但是程序会将此字符串视为: “到\\ \\ 0BE \\ 0or \\ 0not \\ 0℃至\\ 0BE 0” 我该如何解决这个问题? 有什么办法吗?