我是C的新手并且正在执行shell。现在我正在努力解决以下问题
有一个2D字符数组。 argv [0]包含" ls -l<测试"
然后我想用<成为分隔符。当它被划分时,我想将第一部分(" ls -l")和第二部分(" test")存储到两个不同的新char数组中。
在我的代码中,这是IO重定向的实现。我只能提供代码的一部分,因为这是一项任务。
这是我到目前为止所做的。
while (argv[num_cmds]!=NULL )
{ // go though the current char array, check if there is a '<'
for(int i=0;i<strlen(argv[num_cmds]);i++){
if(argv[num_cmds][i]=='<'){
//first half
strcpy(cmds[num_cmds],strtok(argv[num_cmds], in));
//second half, not yet implemented
}
}
现在cmd [0]包含前半部分。但我仍然需要处理下半场。如果我的代码结构不可行,我很高兴知道更好的方法
提前为我的英语道歉