我遇到问题malloc()
,不知道发生了什么。我正在和MinGW一起编译。
Cadena只是typedef
的{{1}},而char *
是一个返回字符串的函数。
leer_dato()
答案 0 :(得分:0)
您没有分配足够的内存。如果strlen
返回例如 5 ,则表示您的字符串包含5个字符 + 1 ,用于终止0字节。因此,在为字符串分配内存时,您必须这样做:
char * nuevo_dato = (char*)malloc(sizeof(char) * (strlen(dato) + 1));
sizeof(char)
是可选的。