编写一个程序,用于创建目录并使用c语言在该目录中创建文件

时间:2016-11-29 12:28:03

标签: c

我一直在某个特定程序中尝试以下代码,但它只是创建了目录而没有放入它。

它的唯一功能是从目录创建文件,即作为文件夹的邻居。

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);

2 个答案:

答案 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中定义。