【发布时间】:2020-04-15 10:30:23
【问题描述】:
我正在尝试将此 char 数组分成两部分,前 4 个字符是一部分,其余部分是第二部分 任何人都可以建议解决这个问题
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
const char src[50] = "FLSZGRGR";
char *dest1 = malloc(5 * sizeof(char));
memcpy(dest1, src, 4);
printf("%s \n", dest1);
if (strcmp(dest1, "FLSZ") == 0)
printf("EQUAL 1 \n");
char *dest2 = malloc(5 * sizeof(char));
memcpy(dest2, src + 4, 4);
printf("%s \n", dest2);
if (strcmp(dest2, "GRGR") == 0)
printf("EQUAL 2 \n");
free(dest1);
free(dest2);
return (0);
}
【问题讨论】:
-
您不会终止
dest1或dest2中的数据,而是在它们上使用字符串函数。不行。
标签: c linux malloc valgrind memcpy