我目前正在尝试遍历字符串以找到第一个空格。我想将该空格之前的所有字符复制到不同的字符串中。
在这里,我要处理更多我的代码:lineArray 是全局的,并且由我没有复制的不同函数填充。
char *lineArray[16];
int startProcesses(int background) {
int i = 0;
int var = 0;
int pid;
int status;
int len;
char copyProcessName[255];
while(*(lineArray+i) != NULL) {
len = strlen(lineArray[i]);
for (var = 0; var < len; ++var) {
if(lineArray[i][var] != ' ') {
copyProcessName[var] = lineArray[i][var];
} else {
break;
}
}
我知道这还没有完成,我缺少'\ 0',但在此之前我在调试时注意到,在编译器第一次尝试copyProcessName[var] = lineArray[i][var];
分配后,lineArray[i] 中的整个字符串被破坏,而不是 for包含ls -l
它的示例被替换为ll - l
.
我会再提一些细节:lineArray 是一个全局变量,我确实尝试过使用 strcpy,但它造成了同样的破坏,所以这就是我选择实现它的原因,最后一件事是我使用的是 ubuntu。
有谁知道为什么要这样做?
谢谢!