gpt4 book ai didi

c - 函数从 C 中的字符串创建数组,无需 strtok

转载 作者:行者123 更新时间:2023-11-30 18:37:50 24 4
gpt4 key购买 nike

给定一个字符串“红、黄、蓝、绿”,我需要编写一个函数来创建一个以颜色为元素的数组。我无法找到有关此问题的信息,因为不允许我使用 strtok 或 string.h 中的任何字符串操作函数。有什么建议吗?

这是我的代码:

int findLength(char string[]){
int l =0;

for(l = 0; string[l]!='\0'; l++){

}
return l;
};


char *stringToArray(char string[]){
int i = 0;
int j = 0;
char c = ',';
int n = 0;
int l = findLength(string);

char *str = (char *)malloc(l * sizeof(char));

while(string[i] != '\0'){
if(string[i] == c){
for(n = j; n < i; n++){
str[j++] += string[n];
}

}
i++;
}
printf("%s\n", str);
str = '\0';
return str;
}


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

char *string = "red, blue, green,";
char *str = stringToArray(string);
free(str);

return 0;

}

最佳答案

迭代字符串直到找到逗号。然后将从开始到该点的所有内容复制到数组中的单独字符串中。

继续迭代,直到找到另一个逗号,然后将所有内容从上次停下的位置复制到数组中的另一个字符串中。

重复此操作,直到到达字符串末尾。另外,请务必在找到每个逗号后跳过所有空格。

关于c - 函数从 C 中的字符串创建数组,无需 strtok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35781044/

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