Tag: 命令行

解析具有多个公共分隔符C的文件

我正在使用C语言中的基本命令行音乐库,它允许您通过命令行打开文件,并添加艺术家,歌曲标题和发布年份等信息。 一旦退出,它就会将该信息写回同一文件中。 我遇到的问题是试图找到一个正确解析文本文件的解决方案。 例如,输入文件将如下所示: Title: Heirloom, Artist: Basenji, Year Published: 2014 Title: With Me, Artist: Cashmere Cat, Year Published: 2014 我正在研究的项目(反对通常的做法)指出,我们将一行信息存储在如下所示的struct Song : struct Song { char title[250]; char artist[250]; int year_published; }; 每首Song都存储在struct Song类型的数组中,称为music_lib[] 。 我知道如何通过执行以下操作将每一行分成一个特定的struct Song : while(fscanf(input_file, “%s %s %ld”, *temp_title, *temp_artist, *temp_year) != EOF) copy_song_to_music_library(temp_title, temp_artist, temp_year); 我不知道怎么做是如何正确解析文本文件,以便当我有一个已知的格式: Title: Heirloom, Artist: […]

命令行* linux

我正在尝试用C编写代码,它实现了一个简单的计算器。 输入应该来自命令行,所以例如我运行时 ./calculator 5 * 2 结果应该是10 问题是,当我写*它显示当前目录中的所有文件,并且该程序表现不佳。 无论如何都要克服这个问题? 我试图在这里或其他网站找到解决方案,但没有成功。 我需要*将被解释为char而不是linux命令。 谢谢。

同时命令激活两次C语言

我一直在尝试制作这种基于文本的游戏,我注意到,如果玩家选择了有效的选择,它会检测到天气。 玩家第一次输入错误时,它只打印一次。 但如果玩家第二次犯错,它会打印两次。 #include #include #include #include #include #include #include int main() { char enter = 0; char pNAME[30]; char pGENDER; char pWEAPON[20]; char pARMOR [10]; int pWEAPONID; int choice1,choice2 = 0,choice3; int pAGE; int pATK; int pHP = 25; int pATKS = 10; int pATKC = 0; int knightHP = 20; int knightATKS = […]

如何将命令行参数从C程序传递给bash脚本?

我写了一个bash脚本,现在我从C程序调用这个脚本。 现在我想从命令行将参数,即argv[1]和argv[2]传递给脚本。

命令行参数和文件输入

上个学期我从命令行参数输入文件时遇到了可怕的时间,我需要将它用于我正在进行的练习。 我编写了一个简单的shell来让它工作: prob_5.c #include int main(int argc, char *argv[]) { int i; FILE *fp; int c; for (i = 1; i < argc; i++) { fp = fopen(argv[i], "r"); if (fp == NULL) { fprint(stderr, "cat: can't open %s\n", argv[i]); continue; } while ((c = getc(fp)) != EOF) { putchar(c); } fclose(fp); } return 0; […]

在C中通过命令行传递整数?

我想知道是否有人可以解释如何通过命令行传递参数? 我真的很困惑它是如何工作的。 现在我正试图将一个整数传递给主程序。 我该怎么做呢? 编辑:继续获取初始化从指针生成整数而没有强制转换[-Wint-conversion]错误? #include #define PI 3.1416 int main (int argc, char *argv[]) { double r,area, circ; char a = argv[1]; int num = a – ‘0’; printf(“You have entered %d”,num); r= num/2; area = PI * r * r; circ= 2 * PI * r; printf (“A circle with a diameter of […]

getopterror handling多个逗号分隔值

如何为从getopt的命令行接收的逗号分隔值的多个组合validation字符串变量? case ‘a’ : flaga=1; alg = optarg; printf(“you entered option -a \”%s\”\n”, optarg); if(strcmp(alg,”lr”) == 0 ) { ….//valid } else if(strcmp(alg,”lda”) == 0 ) { ….//valid } else if(strcmp(alg,”knn”) == 0 ) { …//valid } “”””” “””” else { printf(“wrong value entered for option -a \n”); exit(); } 选项-a可以接受这些值:“knn”,“lda”,“lr”,“kart”,“nb”,“svm”。 如果用户仅传递单个值,则上述代码可以完美地处理错误。 但是选项-a可以接受多个值,以逗号分隔, Eg : […]

控制命令行的提示

我用C制作了基于udp的客户端和服务器示例程序。 我的代码如下 [服务器] #include #include #include #include #include #include #include #include int printerror2(char func[], int errnum) { printf(“%s error = %d:%s\n”, func, errnum, strerror(errnum)); perror(func); return errnum; } int printerror(char func[]) { return printerror2(func, errno); } int main(int argc, char *argv[]) { int ret; /* WSADATA wsaData; ret = WSAStartup(MAKEWORD(2,2), &wsaData); if (ret != 0) […]

使用GNU ToolChain在Windows命令行上运行ARM / C.

因此,当我问一个关于在IDE中运行此代码的类似问题时,您可能会认出我。 最后我得到的建议是我应该学会从命令行一起运行它们。 因此我接受了建议并安装了来自Codesourcery Lite MentorGraphics的GNU工具链(不确定这是否有意义)。 我能做的命令就像是 > arm-none-eabi-gcc -o main main.c -T script 但是,我很难找到我应该如何使用这些命令。 我试过了 > arm-none-eabi-gcc -o main (my c filename).c -T (my ARM filename).s 但是我从ARM文件中得到了语法错误。 然后我试着去做 > arm-none-eabi-gcc -o main (my c filename).c 但由于外部“add2”,这不起作用 > arm-none-eabi-as add2.s 这给我一个文件“a.out”,但我不知道那是做什么的。 这是我的代码: 臂 .global add2 add2: stmfd sp!, {v1-v6, lr} @ ‘standard’ entry, save registers on […]

获取Dev-C ++构建的程序以将UNICODE字符输出到Windows命令行

如果你能回答我的任何问题,那就太棒了。 这是独家新闻:我正在向泰国11年级学生介绍泰国的编程课程。 到目前为止它一直很好,他们的英语水平足够高,我可以用英语教学,让他们用英语写程序,一切都很好,花花公子。 然而,作为非拉丁字符语言的发言者,我觉得他们至少应该了解UNICODE是什么。 我不会对它进行测试或者将它们与实现细节混淆,但我想向他们展示一个可以用泰语字符进行I / O的UNICODE程序示例。 我在以下限制条件下操作,其中没有一个可以更改(至少在本学期): 该程序必须在Windows 7上运行 程序必须是C(不是C ++) 我们必须使用Dev-C ++(v.4.9.9.3)作为我们的IDE(我将尝试说服管理员在下学期改变,但他们可能不想) 该程序应该输出到命令行(我希望它“看起来像”我们迄今为止编写的程序) 我希望它易于设置和运行,但我不反对包括批处理文件为孩子们做一些设置工作。 这是我已经走了多远,以及我的问题: 在控制面板>区域>管理>非UNICODE程序的语言设置为泰语。 我使用“chcp 874”在命令行中设置泰语代码页 ,但键盘中的字符显示为乱码。 这可能是因为键盘映射是错误的还是我必须改变别的东西? 我用以下行编写了一个程序:printf(“\ u0E01 \ n”); 打印ก,泰语字母表中的第一个字母。 这是正确的语法吗? 我收到一个编译器警告“只有C ++和C99支持通用字符”。 Dev-C ++不能编译成C99吗? 有没有办法让它得到一个C99编译器? 我运行代码并得到垃圾字符。 我想这可能是因为编译器,命令行或任何其他东西。 我想用一个输出สวัสดีโลก的程序来结束这个课程,泰语相当于“Hello World!” 我已经完成了大量的谷歌搜索,但我发现的每个答案要么在这个特定情况下不起作用,要么涉及不同的IDE。