我想将 C 风格的 10x10 矩阵写入二进制文件,以便它包含一个像这样的鳄鱼而不是普通数字: 。
但由于某种原因,其中没有写 crocozyabry,而是这样写的:
1 M M2 M M21 M3 M12 M1 M7 M4 M7 M17 M M1 M6 M7 M1 M0 M6 M3 M4 M1 M6 M M3 M17 M4 M5 M5 M2 M8 M7 M2 M8 M M5 M7 M7 M5 M6 M6 M1 M6 M0 M4 M M0 M4 M1 M3 M9 M9 M9 M4 M9 M8 M M9 M8 M7 M9 M1 M1 M7 M5 M0 M3 M M9 M6 M7 M9 M4 M4 M0 M0 M7 M0 M M7 M8 M0 M1 M6 M6 M3 M4 M4 M9 M M1 M6 M9 M9 M4 M4 M8 M7 M8 M2 M M3 M9 M9 M9 M8 M8 M9 M0 M3 M0 M M
如何确定整个文件中有鳄鱼?
FILE* file;
int matrix[10][10] ={
{ 1 ,2 ,21, 3, 12, 1, 7, 4, 7, 17},
{1, 6, 7, 1, 0, 6, 3, 4, 1, 6},
{3, 17, 4, 5, 5 ,2 ,8 ,7 ,2, 8},
{5, 7, 7, 5, 6, 6, 1, 6, 0, 4},
{0, 4, 1, 3, 9, 9, 9, 4, 9, 8},
{9, 8, 7 ,9 ,1 ,1 ,7 ,5 ,0 ,3},
{9, 6, 7, 9, 4, 4, 0, 0, 7, 0},
{7, 8, 0 ,1 ,6 ,6 ,3, 4, 4, 9},
{1, 6, 9, 9, 4, 4, 8, 7, 8, 2},
{3, 9, 9, 9, 8, 8, 9, 0, 3, 0 } };
char nextLine[3];
sprintf(nextLine, "%c", '\n');
char tab[3];
sprintf(tab, "%c", ' ');
if (fopen_s(&file, "result.bin", "wb") == 0)
{
for (int i = 0; i < 10; i++)
{
for (int j = 0;j < 10;j++)
{
char buf[3];
sprintf(buf, "%i", matrix[i][j]);
fwrite(buf, sizeof(char), sizeof(buf), file);
fwrite(tab, sizeof(char), sizeof(tab), file);
}
fwrite(nextLine, sizeof(char), sizeof(nextLine), file);
}
fclose(file);
}
1 个回答