小编use*_*258的帖子

自动修复C中缺少的括号

我将一些Fortran代码转换为C.我想知道是否有人可以帮我解决以下问题:

warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
Run Code Online (Sandbox Code Playgroud)

我知道这个警告是由这样的语法引起的:

A || B && C
Run Code Online (Sandbox Code Playgroud)

应该写成:

A || (B && C)
Run Code Online (Sandbox Code Playgroud)

我的编译器能够编译代码,因为&&的优先级高于|| 所以它只是想象括号.

问题是,自从我在大型项目上工作以来,这个警告发生了大约30,000次.

是否有任何工具能够自动在所有&&周围插入括号?

c c++ warnings fortran parentheses

11
推荐指数
1
解决办法
638
查看次数

不使用 mkdir() 创建新目录

在 C 中,我使用“open()”来创建和打开文件:

fd = open(fileName, O_CREAT | O_RDWR, 0644);
Run Code Online (Sandbox Code Playgroud)

如果“fileName”包含目录,则仅当该目录存在并且应用程序有权写入该目录时才会创建文件。

如果目录不存在,“open()”返回错误,我想创建该目录。

使用 makedir (见下文)我可以创建目录。

int mkdir(const char *path, mode_t mode);
Run Code Online (Sandbox Code Playgroud)

我想知道,还有其他方法来创建目录吗?我相信我们也可以使用ioctl()?还有更多选择吗?

我问这个是因为在我们的代码中不允许使用mkdir。

c directory mkdir

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

标签 统计

c ×2

c++ ×1

directory ×1

fortran ×1

mkdir ×1

parentheses ×1

warnings ×1