linux中正则表达式file*.c dir?char.o的含义?
这个应该不是正则表达式而是linux下面的文件通配符
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
匹配中所包含的任何字符。
一般用于cp mv ls 类似的命令,通配文件
像 file*.c 就表示 fileafasf.c 这样类似的文件名,像上面的全部放到一起具体还不知道是什么?
一个很长的包含空格的文件名?
linux c的open(文件路径,O_WRONLY | O_CREAT) 里面的与运算为什么可以实现打不开就创建?
这个是位或,不是与。位或、位与是这样计算的。如:二进制的010|001结果是011,而010&001结果就是0了。O_WRONLY和O_CREAT的关系就相当于上面的010和001。他们位或的值不是0,位与的值就是0了。0表示什么都不做。用了位或后,就在一个整型的值上设置了不同的标志位,open函数会检测对应的标志位,如果该标志位设置为1了,就执行对应的操作。O_CREAT的意思就是创建的意思,在这里就是将创建文件的标志位设置为1,这样open函数无法写这个文件的时候就会创建他。