Есть ли функция в C, где я могу скопировать определенные части массива символов - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть char

char test[] = "Hello there\n"
              "World, my name\n"
              "Is bob\n";

Есть ли функция, которую я могу использовать для сохранения каждой строки в отдельном массиве символов.Таким образом, \n будет указывать для меня, чтобы остановить и сохранить его в новый массив?В итоге у меня будет 3 набора массивов символов.По сути, есть ли функция, которую я могу использовать, чтобы найти \n, затем скопировать все перед ним, но затем прекратить копирование, если он видит \n

char line1[] = "Hello there\n";
char line2[] = "World, my name\n";
char line3[] = "Is bob\n";

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать strtok, как показано в примере ниже.

#include<string.h>
#include<stdio.h>
int main()
{
    char test[] = "Hello there\n"
              "World, my name\n"
              "Is bob\n";

    char *p;
    p = strtok(test, "\n");

    while(p) {
        printf("%s\n", p);
        p = strtok(NULL, "\n");
    }

    return 0;
}
...