gpt4 book ai didi

c - 解析C中的命令行

转载 作者:行者123 更新时间:2023-11-30 20:40:32 26 4
gpt4 key购买 nike

我需要一些帮助来开始使用 shell 解析命令行上的元素。我必须采用空格、单引号和双引号分隔的不同元素,并将它们转换为标记。关于我可以使用哪些功能或方法有什么建议吗?

这是我到目前为止的代码:

#include <stdio.h>               //printf
#include <unistd.h> //isatty
#include <string.h> //strlen

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

int MaxLength = 1024; //size of buffer
char buffer[MaxLength]; //bufer
bzero(buffer,sizeof(buffer)); //zeros out the buffer
char *command; // character pointer of strings
int inloop =1;

/* part 1 isatty */
if (isatty(0))
{

while(inloop ==1) // check if the standard input is from terminal
{
printf("$");
command = fgets(buffer,sizeof(buffer),stdin); //fgets(string of char pointer,size of,input from where

//check for empty space

//check for ''

//check for ""

//check for |


if(strcmp(command,"exit\n")==0)
inloop =0;

}

}
else
printf("the standard input is NOT from a terminal\n");

return 0;
}

最佳答案

您可能需要getopt 。这是 GNU 兼容的变体。

关于c - 解析C中的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21894615/

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