C++ 读写文件

写文件

    FILE* f = fopen("filename","w");  // 创建文件:“filename”,其中“w"表示:写
    fprintf(f, "auto %s\n", netName.toStdString().c_str());  // 占位 %s, 字符串,netName 的内容转成字符串; \n 表示换行
    fprintf(f, "iface %s inet static\n", netName.toStdString().c_str());
    fprintf(f, "address %s\n",newip.toStdString().c_str());
    fprintf(f, "netmask 255.255.255.0\n");
    fclose(f);  // 关闭文件 f

 读文件(按字节流)

    QString fname = “path/to/file/name”;   // QT

    FILE* inf = fopen(fname.toStdString().c_str(), "rb"); // 顺序读、二进制
    fseek(inf, 0, SEEK_END);
    int len = ftell(inf); // 文件总长度(字节数)
    fseek(inf, 0, SEEK_SET);
    char data_r[1024];
    int rv;
    while (1)
    {
        rv = fread(data_r, 1, 1024, inf);
        if (rv < 1) break; // 表示读取完毕了

        // Todo: 处理 data_r,其中有 rv 个有效数据
    }
    fclose(inf);

 

posted on 2025-01-13 14:14  云梦鸿  阅读(24)  评论(0)    收藏  举报