我有一个字符串数组,我需要将每个字符串分成几个不同的部分。字符串可能有也可能没有任意空格和制表符。
Example string:
str[0]: " apple e 3 a a fruit "
I need it to become:
word[0] = "apple"
row[0] = "e"
column[0] = "3"
direction[0] = "a"
clue[0] = "a fruit"
所以我需要删除任何前导/尾随空格,以及字段之间的任何空格(线索字段除外。线索内的空格需要保留)。我真的不知道该怎么做。我有一些基本的想法,但我不知道如何去实现它们,或者它们是否可行(编码新手并且非常无能)。到目前为止,我尝试过的所有东西要么无法编译,要么不起作用。
我最近尝试拉出第一个字段:
for (i=0; i<MAX_LENGTH; i++) {
for (j=0; j<MAX_INPUT; j++) {
if (isSpace(&input[i][j]) == FALSE) {
//if whitespace is not present, find the location of the next
//space and copy the string up til there
static int n = j;
for (n=0; n<MAX_INPUT; n++) {
if (isSpace(&input[i][n]) == TRUE) {
strncpy(word[i],&input[i][j],(n-j));
//printf("Word[%d]: %s\n",i,word[i]);
break;
}
}
}
}
}
对它不起作用并不感到惊讶。我还没有完全解决这个问题。请帮忙?