我有简单的文件创建代码,可以创建带记录的文件。 existsf 显示该文件存在,但我无法使用资源管理器在文件系统中看到它。可能出了什么问题?
#define FN "C:\Projects\src.txt"
using namespace std;
inline bool existsf (const std::string& name) {
struct stat buffer;
return (stat (name.c_str(), &buffer) == 0);
}
int _tmain(int argc, _TCHAR* argv[])
{
std::ofstream f;
f.open(FN);
if ( f.is_open() )
{
f<<"Some text here"<<std::endl;
f.flush();
f.close();
}
if (existsf(FN)) wcout<<"exist\n";
}
最佳答案
#define FN "C:\Projects\src.txt"
反斜杠是 C++ 字符串常量中的转义符。您使用反斜杠转义了 P
和 s
,这对它们没有任何作用。所以这相当于:
#define FN "C:Projectssrc.txt"
您想转义反斜杠以在字符串中生成文字反斜杠,如下所示:
#define FN "C:\\Projects\\src.txt"
关于c++ - 文件已创建,但不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26711580/