2013-10-05 4 views
-2

Эй, я сейчас изучаю язык c. Есть ли возможность превратить переменную типа char*, которая содержит несколько слов, разделенных пробелами, в массив строк (в c is char*[]), чтобы каждое слово исходной переменной находилось в другом индексе в новом массиве?Вы можете сделать строку в массиве символов

+0

Поиск 'strtok()'. – timrau

+1

Проверьте первый ответ на [этот вопрос] (http://stackoverflow.com/questions/8106765/using-strtok-in-c). –

ответ

1

C Библиотека функций strtok():

символ * strtok (символ *, ул Const символ * разделители);

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char str[] ="- This, a sample string."; 
    char * pch; 
    printf ("Splitting string \"%s\" into tokens:\n",str); 
    pch = strtok (str," "); 
    while (pch != NULL) 
    { 
    printf ("%s\n",pch); 
    pch = strtok (NULL, " "); 
    } 

    return 0; 
} 
+0

Но я думал, что на языке c нет строкового типа? .. и в первом примере вы можете отредактировать его таким образом, чтобы он помещал токены в массив символов? – user2559696

+0

yep делит char [] на основе разделителя, который вы предоставили функции. Для получения дополнительной информации перейдите по ссылке –

+0

Вы разделили массив на токены. Я попросил пролить (char *) тип на массив. – user2559696

Смежные вопросы