Malloc功能无法正常工作

时间:2016-10-16 22:11:13

标签: c

我遇到问题malloc(),不知道发生了什么。我正在和MinGW一起编译。

Cadena只是typedef的{​​{1}},而char *是一个返回字符串的函数。

leer_dato()

1 个答案:

答案 0 :(得分:0)

您没有分配足够的内存。如果strlen返回例如 5 ,则表示您的字符串包含5个字符 + 1 ,用于终止0字节。因此,在为字符串分配内存时,您必须这样做:

char * nuevo_dato = (char*)malloc(sizeof(char) * (strlen(dato) + 1));

sizeof(char)是可选的。