0
Q
如何改變與C++
A
回答
4
#include <sys/types.h>
#include <sys/stat.h>
int main() {
chmod("./myfile", S_IRWXU); // enables owner to rwx file
}
查看man 2 chmod
瞭解更多詳情。
如果問題是如何解析形式爲「rwx-w-r--」的9個字符的字符串,請認識到權限是以int形式編碼的。如果有一點打開,則該權限處於打開狀態。下面的代碼將把你的字符串,把它變成位,以明顯的方式...沒有驗證等完成。這是一個概念驗證。
#include <cstdio>
#include <sys/types.h>
#include <sys/stat.h>
int parse(char* perms) {
int bits = 0;
for(int i=0; i<9; i++){
if (perms[i] != '-') {
bits |= 1<<(8-i);
}
}
return bits;
}
int main() {
char perms[]="rwx-w-r--";
int exmp = S_IRWXU | S_IWGRP | S_IROTH;
printf("%d %d\n", parse(perms), exmp);
// outputs 468 468
}
[CHMOD(2) - Linux的手冊頁(http://man7.org/linux/man-pages/man2/chmod.2.html) – MikeCAT
如何使用語法的rwx --- ---用chmod ?? –
自己解析一下。 – MikeCAT