我尝试创建一个文件而且我做了。
现在我尝试在新文件夹中创建文件,但此代码无效!
#include <stdio.h>
#include <stdlib.h>
int main( void)
{
FILE *fp;
fp = fopen("txt/example.txt", "w"); // This only works without "txt/"
fprintf(fp, "%s", "Some data here");
fclose(fp);
return 0;
}
也许我需要在文件之前和之后创建文件夹,但我不知道如何实现它...任何帮助都表示赞赏!
答案 0 :(得分:2)
此示例在创建文件之前创建目录,当它生成文件时,请注意文件名中的双\\
以防止从\e
尝试转义序列,尽管它会也可以使用单个/
。
#include <stdio.h>
#include <direct.h>
#include <stdlib.h>
void fatal(char *msg) {
printf("%s\n", msg);
exit (1);
}
int main(void) {
FILE *fp;
if (mkdir("txt"))
fatal ("Error creating directory");
if ((fp = fopen("txt\\example.txt", "w")) == NULL)
fatal ("Error opening file");
if (fprintf(fp, "%s", "Some data here") <= 0)
fatal ("Error writing to file");
if (fclose(fp))
fatal ("Error closing the file");
return 0;
}
答案 1 :(得分:1)
您需要使用CreateDirectory
在Windows上创建目录。