如何用c++ 将屏幕上显示的内容打印到一个文本文件

2024-11-15 20:30:48
推荐回答(4个)
回答1:

直接使用 标准库里面的 ofstream 类,建立一个对象,然后像使用 cout 标准对象一样即可。
如:

#include // 标准库文件IO部分的头文件
//创建一个 ofstream 对象,并与文件 c:\\1.txt 关联,不存在则新建
std::ofstream outfile("c:\\1.txt");

std::string str("Hello World!");

//现在可以将 outfile 像 cout 一样的使用了
outfile << "Write in file:" << str << std::endl;

回答2:

在命令行中输入“文件名.exe>>文本文件名.txt”

回答3:

你用的是什么版本的vc++,我用的是vs2008,程序生成正常,文本用记事本打开正常,
英文应该不是问题,因为文本是unicode的
要不你在程序最前面加上#define UNICODE,这在vs2008默认的

#include
#include
using namespace std;

#define BUFSIZE 2000
BOOL ReadCmd(PTSTR szFileName);
int main()
{
cout<<"effffffffffffffffffffffffffffff"< ReadCmd(TEXT("a.txt"));
return 0;
}
BOOL ReadCmd(PTSTR szFileName)
{
HANDLE hStdout;
TCHAR buffer[BUFSIZE];
DWORD dwRead;
COORD coord;
coord.X=0;
coord.Y=0;

hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
if(!hStdout)
return FALSE;
ReadConsoleOutputCharacter(hStdout,buffer,BUFSIZE,coord,&dwRead);
HANDLE hFile=CreateFile(szFileName,GENERIC_WRITE,0,NULL,
CREATE_ALWAYS,FILE_FLAG_SEQUENTIAL_SCAN,NULL);
if(hFile==INVALID_HANDLE_VALUE)
return FALSE;
WORD wHead=0xFEFF;
DWORD dwWritten;
WriteFile(hFile,&wHead,2,&dwWritten,NULL);
WriteFile(hFile,buffer,sizeof(buffer),&dwWritten,NULL);
CloseHandle(hFile);
return TRUE;
}

回答4:

执行 *.exe 用:

*.exe >> abc.txt