小编Rob*_*Man的帖子

Linux和Windows之间fwrite的不同行为

我有一个用C编写的小示例程序.我有一个main函数writeFile,它调用一个函数在二进制文件中写入一些数字.然后我调用overwrite0替换为0,最后打印结果.

这是代码:

#include <stdio.h>

/* Print the content of the file */
void printFile(){
    printf("Read test.dat:\n");
    int r;
    FILE* fp = fopen("test.dat", "rb+");
    if(fp) {
    while(fread(&r,sizeof(int),1,fp)){
            printf("%d\n", r);
        }
    }
    fclose(fp);
}

/* Replace 0 with 1 */
void overwrite(){
    int   r;
    FILE *fp = fopen("test.dat", "rb+");
    if (fp) {
        int i=0;
        while (i < 4 && fread(&r, sizeof(int), 1, fp)) {
            i++;
            if (r == 0) {
                r = 1;
                fseek(fp,-sizeof(int),SEEK_CUR);
                fwrite(&r,sizeof(int),1,fp);
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c linux windows fwrite

7
推荐指数
1
解决办法
991
查看次数

GTK/C 和 GtkBuilder 制作单个可执行文件

在我的项目中,我调用gtk_builder_add_from_file函数来加载带有之前用 Glade 设计的 ui 对象的 xml 文件。所以,我有我的二进制程序和(在同一文件夹中)xml 文件。

将所有内容打包到单个可执行文件中的最佳方法是什么?我应该使用自解压脚本吗?或者还有其他东西可以一起编译?

谢谢大家

gtkbuilder gtk3

3
推荐指数
1
解决办法
3690
查看次数

标签 统计

c ×1

fwrite ×1

gtk3 ×1

gtkbuilder ×1

linux ×1

windows ×1