gpt4 book ai didi

c - 在 C 中分隔可以有任意空格的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:24 26 4
gpt4 key购买 nike

我有一个字符串数组,我需要将每个字符串分成几个不同的部分。该字符串可能有也可能没有任意空格和制表符。

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;
}
}

}
}
}

它不起作用并不奇怪。我还没有完全解决这个问题。请帮忙?

最佳答案

您当前的代码似乎太复杂了。下面是一个三步算法,如果我将其编码,我将实现该算法:

  1. 当当前字符为空格时:移动到下一个字符;
  2. 当当前字符不是空格时:将其追加到输出中并移至下一个字符;
  3. 重复步骤 1 和 2,直到到达输入字符串的末尾。

关于c - 在 C 中分隔可以有任意空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780899/

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