真的,我只是对如何在当前工作目录的子目录中创建文件感到困惑,尤其是在它被隐藏的情况下。
Saychar* backup
包含我们通过open()
调用创建的文件的名称。
假设有一个已经存在的隐藏文件夹,名为.mybackup
.
如何在其中创建文件.mybackup
?希望没有 chdir'ing 两次。
到目前为止我在哪里:
int filewrite;
filewrite = open(backup, O_CREAT | O_RDWR, 0644);
真的,我只是对如何在当前工作目录的子目录中创建文件感到困惑,尤其是在它被隐藏的情况下。
Saychar* backup
包含我们通过open()
调用创建的文件的名称。
假设有一个已经存在的隐藏文件夹,名为.mybackup
.
如何在其中创建文件.mybackup
?希望没有 chdir'ing 两次。
到目前为止我在哪里:
int filewrite;
filewrite = open(backup, O_CREAT | O_RDWR, 0644);
在文件名前加上您希望放置的目录。或者,chdir
两次也可以接受。
char* backup = "backup.sql"; // Assuming this comes from somewhere else (not constant)
const char* targetDir = ".mybackup/"; // (No leading slash)
// Allocate a buffer for the filename (remembering +1 for null-terminator!)
char* path = (char*)malloc(strlen(targetDir) + strlen(backup) + 1);
strcpy(path, targetDir); // Copy in the target directory part
strcat(path, backup); // Copy in the filename part
filewrite = open(path, O_CREAT | O_RDWR, 0644); // Open the file
free(path); // Free the buffer
int 文件写入; 文件写入 = 打开(备份,O_CREAT | O_RDWR,0644)
其中备份包含“文件夹\文件名”其中文件夹与您所在的文件夹相对