所以,我有我的矩阵,我们说 int matC [N] [N], 它已经填充整数值。使用C(系统调用)将整数矩阵写入文本文件?
我所要做的就是将这个矩阵保存到一个.txt文件中。 我已经试过这样:
1:基质中含有的整数转换成字符串
char *buffer;
for (int i = 0 ; i < N ; i++)
{
for (int j = 0 ; j < N ; j++)
{
snprintf(buffer, sizeof(matC[i][j]), "%d", matC[i][j]);
}
}
2:写在一个文件中的字符串(fileC.txt)
int fdC = open("fileC.txt", O_RDWR);
write(fdC, buffer, sizeof(buffer));
我确实在我的fileC.txt文件中找到了一些东西,但它是一些无法理解的符号。 感谢您期待任何帮助。
你所有的'snprintf'调用都在你的缓冲区开始时覆盖相同的4个字节(可能取决于你系统的其他数字)。 – aragaer
您需要为缓冲区分配内存,“sizeof”指针就是指针的大小,而不是分配的内存。 –
您将错误的'sizeof'传递给'snprintf':它应该是目标缓冲区的大小,它不一定是您要打印的东西的大小。 –