如何将多行写入一个文件? ...这就是我所拥有的...此外,某些行包含如下文本:#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);
最佳答案
由于这是 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';
如果您向我们提供有关您的问题的更多信息,我将能够在我的回答中详细说明。但在您这样做之前,以上内容就足够了。
关于C++将文本写入文件,如何多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818649/