Как в стиле си записать в бинарный файл матрицу 10x10?

Хочу записать в стиле си матрицу 10x10 в бинарный файл, чтобы в нём вместо нормальных чисел была крокозябра наподобии этой: .

Но по какой-то причине вместо крокозябры в нём записывается вот это:

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 М М

Как сделать так, чтобы во всем файле была крокозябра?

 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 шт):

Автор решения: Harry
int main()
{
    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 } };

    if (fopen_s(&file, "result.bin", "wb") == 0)
    {
        fwrite(matrix, sizeof(matrix), 1, file);
        fclose(file);
    }
}
→ Ссылка