打开文件流问题

paschen 2012-05-03 12:42:31
ofstream fout(xxx,ios::out);
其中xxx是程序所在目录下的一个叫“结果”的文件夹中的“1.txt”文件。

xxx要怎么写??
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
saloyun 2012-05-03
  • 打赏
  • 举报
回复
char buf[MAX_PATH] = {0};
::GetModuleFileNameA(NULL, buf, sizeof(buf) / sizeof(char));
int len = (int)strlen(buf);
for(int i = len - 1; i >= 0; i--)
{
if(buf[i] == '\\')
{
buf[i] = 0;
break;
}

}

strcat_s(buf,MAX_PATH,"\\结果\\1.txt");
ofstream fout(buf,ios::out);
paschen 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

其中xxx是程序所在目录下的一个叫“结果”的文件夹中的“1.txt”文件。
------ 第一步,得到你所谓的“程序所在目录”
第二步,在这个“程序所在目录”字符串后面接上“\\结果\\1.txt”
[/Quote]

查了好多都找不到一个好的,求代码??
bruceteen 2012-05-03
  • 打赏
  • 举报
回复
其中xxx是程序所在目录下的一个叫“结果”的文件夹中的“1.txt”文件。
------ 第一步,得到你所谓的“程序所在目录”
第二步,在这个“程序所在目录”字符串后面接上“\\结果\\1.txt”
paschen 2012-05-03
  • 打赏
  • 举报
回复
要相对的啊,怎么写?
忘世麒麟 2012-05-03
  • 打赏
  • 举报
回复
使用绝对路径试试如:"E://结果//1.txt"
paschen 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

char buf[MAX_PATH] = {0};
::GetModuleFileNameA(NULL, buf, sizeof(buf) / sizeof(char));
int len = (int)strlen(buf);
for(int i = len - 1; i >= 0; i--)
{
if(buf[i] == '\\')
{
buf[i] = 0;
break;
……
[/Quote]

谢谢,上网查了下,用GetCurrentDirectory更方便

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧