如何将多行写入文件? ......这就是我所拥有的......另外,一些行包括如下文字:#import <Foundation/Foundation.h>
我将如何做到这一点?下面的代码就是我现在所拥有的......
//Creates Config.h
FILE * pFile;
char *buffer = "//Empty Header File";
char file [256];
sprintf (file , "%s/Desktop/%s/Control.h",homeDir, game_name);
pFile = fopen (file, "w+");
fwrite (buffer , sizeof(char), sizeof(buffer), pFile);
fclose (pFile);
答案 0 :(得分:1)
由于这是C ++,我建议您使用标准的IOStreams库,并使用具体的文件流类std::ifstream
和std::ofstream
来处理文件。他们实现RAII来处理文件的关闭,并使用内置运算符和read()
/ write()
成员函数分别执行格式化和未格式化的I / O.而且,它们与标准C ++字符串类std::basic_string
的使用很好地融合在一起。
话虽如此,如果我们在C ++中正确实现它,它应该如下所示:
std::string path = "/Desktop/";
std::string filename = homeDir + path + game_name + "/Control.h";
std::ofstream file(filename, std::ios_base::app);
这会处理打开文件,但正如您所说,您希望将多行写入文件。这很简单。只要您想要换行,只需使用'\n'
:
file << buffer << '\n';
如果您向我们提供有关您问题的更多信息,我将能够在答案中详细说明。但是在你这样做之前,上述就足够了。
答案 1 :(得分:0)
更改为
sprintf (file , "%s/Desktop/%s/Control.h\n",homeDir, game_name);
\ n - 是一个新行代码。
答案 2 :(得分:0)
在C ++中你会这样做:
ofstream fout("someplace/Control.h");
fout << "a line of text" << endl;
fout << "another line of text" << endl;
我遗漏了一些细节,比如如何构建文件名以及如何以“追加”模式打开文件,但是你应该尝试一次解决一个问题。