Учитывая строку «красный, желтый, синий, зеленый» Мне нужно написать функцию, которая создает массив с цветами в качестве элементов. У меня возникли проблемы с поиском информации по этой проблеме, потому что мне не разрешено использовать strtok или любые функции манипуляции строками из string.h. Какие-либо предложения?Функция для создания массива из строки в C без strtok
Вот мой код:
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;
}
У вас есть специфическая проблема, следующая [ваш предыдущий вопрос] (http://stackoverflow.com/questions/35756596/how-to-create-a-string-from-an-array-of-strings-c) ? –
Какой у вас код? – bruceg
@bruceg Я только что обновил свой код. –