我一直在某个特定程序中尝试以下代码,但它只是创建了目录而没有放入它。
它的唯一功能是从目录创建文件,即作为文件夹的邻居。
mkdir(dir2, 0666);
DIR *dr1 = opendir(dir2);
fl = open("copy.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
write(fl, buff, 512);
close (fl);
closedir(dr1);
答案 0 :(得分:1)
你想要这个:
mkdir(dir2, 0666); // create directory
// construct the filename "directory/copy.txt"
char filename[200];
strcpy(filename, dir2);
strcat(filename, "/");
strcat(filename "copy.txt");
fl = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);
write(fl, buff, 512);
close (fl);
你在这里不需要opendir
ann closedir
。
Discalaimer:这是非错误检查和未经测试的代码,仅用于演示目的。
答案 1 :(得分:0)
您需要将文件夹的路径附加到文件名:
fl = open(strcat(directory_path, "/copy.txt"), O_WRONLY | O_CREAT | O_TRUNC, 0644);
其中directory_path
是一个字符串,用于存储创建的文件夹的位置。
char directory_path[100];
strcpy(directory_path, dir2);
strcat
是用于连接两个字符串的函数,在string.h
中定义。