我将一些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 中,我使用“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。