file.Write(str,strlen(str));是直接在自己建立的MFC程序(比如111文件夹)的文件夹以及目录下
但我在111文件夹建立一个222文件夹111:\222
想将生成的TXT文本放在222这个文件夹中
FilePath_Str="data"+":\"+str_room+".txt";
file.Write(FilePath_Str,strlen(FilePath_Str));
结果不行
但我在111文件夹建立一个222文件夹111:\222
想将生成的TXT文本放在222这个文件夹中
FilePath_Str="data"+":\"+str_room+".txt";
file.Write(FilePath_Str,strlen(FilePath_Str));
结果不行
file.Write(FilePath_Str,strlen(FilePath_Str));
FilePath_Str="data"+":\\"+str_room+".txt";
FilePath_Str += str_room;
FilePath_Str += ".txt";
猜一下,你是想在当前目录下生成的data子目录建立str_room.txt文件。而
FilePath_Str="data"+":\\"+str_room+".txt";
file.Write(FilePath_Str,strlen(FilePath_Str));
这两行无法达成你的目的。你的FilePath_Str必须是预先取得了当前的全路径名的字符串。
所以,必须先取得执行文件的当前路径(通过GetModuleFileName及处理,--具体用法很多例子网上查)
赋值给FilePath_Str(假如获得值为D:\\myprogram\\),(注意字符串中要去掉执行文件名)
然后可以直接这么写:
FilePath_Str += "data\\ str_room.txt"; //即D:\\myprogram\\data\\str_room.txt之后必须在文件创建中用这个字符串,而不是file.write中,
CFile m_file(FilePath_Str,CFile::modeCreate|CFile::modeWrite);
file.Write(str,strlen(str)); //这个是写文件的具体内容的。