请问下该输出文本部分应该怎么改

1.问题
• uint32 类型的1234和字符串"1234"写入文件,按小端序写入;从文件中读回写入的数据,并按原类型打印出来
 • 判断当前cpu是大端模式还是小端模式,然后打印出来
2.

#include <iostream>
#include <fstream>
#include <stdint.h>
#include <cassert>
#include <string>
using namespace std;
void test_endian();
int main()

{
    uint32_t A=123;
    printf("%x", A);
    cout << A << endl;

    char arr[5] = "1234";
    int age;
    //利用ofstream类的构造函数创建一个文件输出流对象来打开文件

    ofstream fout("C:\\Users\\Administrator\\Desktop\\1.txt");

    if (!fout)

    {

        cout << "文件不能打开" << endl;

    }

    else

    {
        fout << A << endl;
        // 输出到磁盘文件
        for (int i = 0; i < 5; i++)

        {
            fout << arr[i]  ;
        }
        
        cout << "文件能打开" << endl;
        test_endian();



        fout.close();//关闭文件输出流
        //利用ifstream类的构造函数创建一个文件输入流对象
        ifstream fin("C:\\Users\\Administrator\\Desktop\\1.txt");
        if (!fin)
        {
            cout << "文件不能打开" << endl;
        }
        else
        {
            int num1;

            fin >> num1;
            char buffer[80] = {};
            memset(buffer, 0x0, sizeof(buffer));
            // 从磁盘文件输入
                for (int i = 0; i < sizeof(buffer); i++)
                {
                    fin >> buffer[i];
                   }
                
                for (int i = 0; i < sizeof(buffer); i++)
                {
                    age = buffer[i];
                    if(age!=0)
                    cout << age;
                }
                
                    
                
                
            // 关闭文件输入流      
            fin.close();
            cout <<num1 <<endl;


        }
    }

}
void test_endian()//测试大小端
{
    uint32_t i = 0x04030201;
    unsigned char* cp = (unsigned char*)&i;
    if (*cp == 1)
        cout << "小端模式" << endl;
    else if (*cp == 4)
        cout << "大端模式" << endl;
    else
        printf("who knows?\n");
}
class A
{
public:
    explicit A(uint32_t i = 123)
    {
        num = i;
    }
private:
    uint32_t num;
};

输出在文本上为123
1234
但是,检查的xx说在文本上uint32输出应该为乱码,我这个程序是哪里出了问题
应该怎么改

123对应十六进制0x7B
文件的前四个字节为7B 00 00 00(小端)或00 00 00 7B(大端)