Есть ли простой способ создать строку из массива строк в C? - PullRequest
0 голосов
/ 27 января 2012

Я говорю о некоторой функции, которая может объединять массив символьных массивов в одну строку.

Должен ли я просто пройтись по массиву строк и сделать это вручную?Строка была создана с использованием strtok ().

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Если вы просто используете стандартную C и стандартную библиотеку C, вы должны выполнить цикл и сделать это вручную.(Конечно, вы можете использовать strncat в вашем цикле.)

0 голосов
/ 27 января 2012

Если у вас есть массив char массивов, например:

char foo[<num>][<len>];

... тогда вы можете преобразовать его в строку, подобную этой:

char *bar = (char *)foo;

Если ваши строки * NULL -определены или меньше len, вам может потребоваться memmove() foo[i+1] до позиции strlen(bar) для каждого i.

Конечно, может быть проще просто выполнить итерацию по массиву и объединить строки с помощью strcat().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...