小编Ант*_*тон的帖子

如何捕获文件模式?

我必须捕捉以下模式:

"rb""r+b""wb"

我尝试执行以下代码(已编译):

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
    FILE *file = fopen("data.bin", "r");
    if (!file) {
        perror("");
        return -1;
    }

    int fd = fileno(file);
    if (fcntl(fd, F_GETFL) == O_RDONLY) {
        printf("read only\n");
    }

    // printf("%d\n", O_APPEND);

    fclose(file);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但什么也没打印出来。fcntl()返回整数,如32768,但我需要库中的宏,如O_RDONLY.

c fcntl

2
推荐指数
1
解决办法
239
查看次数

如何使用gdb调试g ++分段错误?

运行程序时出现段错误。然后,我搜索了我的问题,并尝试遵循https://www.gnu.org/software/gcc/bugs/segfault.html中的步骤。

我没有配置GCC,--enable-checking那么我的第一个问题是-

1)是否需要对其进行配置和编译-v -da -Q

但是我总是使用诸如的标志进行编译-g -o0。在带有参数的GDB中运行程序后,我得到以下信息:

gdb_screenshot

2)segfault后无法打印变量,可以吗?

3)如何找出发生段错误的源代码行?

c++ debugging gdb

-2
推荐指数
1
解决办法
57
查看次数

标签 统计

c ×1

c++ ×1

debugging ×1

fcntl ×1

gdb ×1