Как перенести определенные символы из одной строки в другую? - PullRequest
0 голосов
/ 12 мая 2019

Я хочу сохранить некоторые символы из одной строки в другую.

Я попытался перейти от символа к символу из одной строки и сохранить их в другой строке.

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    char *sent, *rec;
    int i, a;
    sent = malloc(100);
    rec = malloc(100);
    gets(sent);
    a = strlen(sent);
    for (i = 0; i < 3; i++)
        *(rec + i) = *(sent + i);
    a = strlen(rec);
    rec = realloc(rec, 4);
    puts(rec);
}

Если я введу «Hello world», ожидаемый результат должен быть «Hel», но это «Hel» и некоторые случайные символы. И также я не понимаю, почему длина rec равна 14.

1 Ответ

1 голос
/ 12 мая 2019
memcpy(rec,sent,3)
rec[3] = 0;

или более общий

memcpy(rec,sent,len)
rec[len] = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...