我想使用calloc和snprintf。你能检查我的简单代码,并告诉我如何修复它吗?我一直有一个错误,访问冲突写入位置0xFFFFFFFFB 8A 2D 1F 0。谢谢!
int main()
{
char* buffer1;
buffer1 = (char*)calloc(1, 14);
int a = 15;
int b = 25;
char c[]="MON"
int k = snprintf(buffer1, 13, "%02d%02%s", a, b, c);
return 0;
}
字符串
希望能修改一下这个简单的代码。
2条答案
按热度按时间xqnpmsa81#
这对我来说很有效:
字符串
请参阅https://ideone.com/WMtMQt
ruoxqz4g2#
你发布的代码无法编译。
字符串
我们来解决这个问题。
尽管如此,固定的代码有许多警告。
型
问题是格式字符串中缺少
d
。始终启用编译器的警告并记住它们。使用gcc,您可以使用
-Wall -Wextra -pedantic -Werror
。