您的位置:首页 > 其它

输入内容到指定文本中,并打开文件

2015-11-03 14:20 274 查看
void StrToFile()

{
string str;//输入的内容
string filename;//文件名和路径
//string temp;
cout<<"请键盘输入:";
cin>>str;
cout<<"请输入输出文件:";
cin>>filename;
fstream file(filename.c_str(),ios_base::out|ios_base::app);//打开文件,如果文件不存在,则创建,并以追加的方式写入文件
//fstream file(filename.c_str());//文件流只能接受字符串,不能接受string对象,所以要将string对象变为字符串
if(!file.is_open())
cout<<"打开文件失败"<<endl;
else
{
file<<str;
file.close();
//temp="Notepad.exe ";
//temp+=filename;//Notepad.exe +记事本名字才能打开文件
//WinExec(temp.c_str(),SW_SHOW);//只能执行exe文件,现在功能是在程序中打开filename文件
system(filename.c_str());//用这个方法打开filename文件更简单,但是要注意filename文件不能被使用,所以使用前要file.close()文件
}

}

WinExec 两个参数,前一个指定路径,后一个指定显示方式。

1、WinExec
这个函数最简单,只有两个参数,原型如下:
      UINT WinExec(
      LPCSTR lpCmdLine,    // 命令路径
      UINT uCmdShow       // 显示方式
     );
使用方法如下:
WinExec("Notepad.exe",SW_SHOW);   // 打开记事本
WinExec("D:\\ProgramFiles\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe
需要注意的是若用 SW_SHOWMAXMIZED 方式去加载一个无最大化按钮的程序,譬如Neterm,Calc 等等,就不会出现正常的窗体,但是已经被加到任务列表里了。

参考资料:

Win32中调用其他应用程序的方法(函数)winexec,shellexecute ,createprocess
http://blog.csdn.net/qq_25301067/article/details/49589649
通过C语言代码来实现cmd命令行功能:
http://www.cnblogs.com/smyhvae/p/4148458.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: