请教大家c++很多cout 怎么快速转换成全部写入文件
请问大家c++很多cout 如何快速转换成全部写入文件。
请问大家很多cout 如何快速转换成全部写入文件。
c++
比如
自己定义了一个函数:
void test()
{
double a;
string b;
写了很多别的code 然后
cout<< a<<" show c++ code"<<"/n"<<b;
然后又隔了许多代码。
又来 一些连续的
cout<<c<<" show c++ second " <<"/n"<< ff;
cout<<"what ? "
。。。。。。。。。。。
}
void main()
{
然后main 函数中
也有
cout<< stringl<<"This is main "<<endl<<ffe;
隔了很多代码
然后调用上面的含有 cout的 void test()
函数;
test()
之后隔了很多代码
cout<<stirngbbd<<"this is main second"<<end<<bdvalue;
cout<<bos<<"test "<<end;
连续的很多cout
}
1:
请问原来都是显示在屏幕上面,请问c++中要用什么代码才能快速转换全部写入文件中?
希望所有的写入都是直接接在之前写过的句子之后写。
就是不覆盖原来的句子。接着写 的 话如何快速修改?
要是想覆盖原来的句子又要如何修改呢?
是不是每个cout前面都要加上 打开文件的命令?
可否创建文件,打开文件的命令就写一次呢?
2
c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何?
3:
c++ 中如何控制写入文件的时候是接着写还是从头写?
请问如何控制从某一行开始写?
如何控制从某一行某一句开始写?
4如何控制跳转到文件中的某一行,然后找到某个单词,替换成别的内容? 或者从某处开始添加句子呢?
谢谢大家帮助。
谢谢帮助。
------解决方案--------------------
如果程序没有输入的话,直接用输出重定位就行。
如果你的程序叫a.exe,那么就在cmd里面输入
a.exe >c:\result.txt
什么都不用更改,原来屏幕输出的东西就全到txt里了
------解决方案--------------------
用惯了cout,而且程序中需要等待用户输入的话。
建议使用ofsream,搜索一下它的用法吧,跟cout很像^_^
------解决方案--------------------
http://blog.csdn.net/qinlicang/archive/2009/07/07/4327189.aspx
------解决方案--------------------
2
c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何?
FILE* fo;
fo = fopen("c.txt","a");
fprintf(fo,"test");
fclose(fo);
最简单的新建一个文件,然后打开一个文件。然后写入一个文件。
------解决方案--------------------
不覆盖原来的句子的话,只要在main的第一句那里加上
freopen("out.txt","w",stdout);
就可以了。
------解决方案--------------------
在程序里面直接重定向stdout!
stdout的文件描述符是1
调用
int fd = open("file_path", O_CREAT|O_RDWR)
dup2(fd, 1);
这样标准输cout出就全部到你指定的文件中去了!
------解决方案--------------------
可以在程序的开始,打开一个文件, 然后使用下面的语句可以将cout定向到文件中去.假设文件名称是"log.txt"
std::ofstream logFile("log.txt");
std::streambuf *outbuf = std::cout.rdbuf(logFile.rdbuf());
这样,你程序的所有使用 cout的输出都会写到 log.txt文件中.
程序结束的地方,要将cout恢复:
std::cout.rdbuf(outbuf);
------解决方案--------------------
我上面说的方法是把所有的cout的输出定向到文件中去,不包括printf等输出.上面的8楼的方法:
freopen("log.txt", "w", stdout);
也是一个好办法。不过它是将所有的stdout(包括 cout及 printf)的输出都定向到文件中去了。
------解决方案--------------------
直接用命令行,重定向就行,有输入也是可以的,你还可以开两个文件一个用于输入一个用于输出,在自已的程序中不用加入任何其它的代码,应该是比较方便的,不过它是会覆盖的,不覆盖的方法还不清楚。至于在程序中加代码fopen,楼上几位已经说得差不多了,就不凑热闹了^_^
请问大家很多cout 如何快速转换成全部写入文件。
c++
比如
自己定义了一个函数:
void test()
{
double a;
string b;
写了很多别的code 然后
cout<< a<<" show c++ code"<<"/n"<<b;
然后又隔了许多代码。
又来 一些连续的
cout<<c<<" show c++ second " <<"/n"<< ff;
cout<<"what ? "
。。。。。。。。。。。
}
void main()
{
然后main 函数中
也有
cout<< stringl<<"This is main "<<endl<<ffe;
隔了很多代码
然后调用上面的含有 cout的 void test()
函数;
test()
之后隔了很多代码
cout<<stirngbbd<<"this is main second"<<end<<bdvalue;
cout<<bos<<"test "<<end;
连续的很多cout
}
1:
请问原来都是显示在屏幕上面,请问c++中要用什么代码才能快速转换全部写入文件中?
希望所有的写入都是直接接在之前写过的句子之后写。
就是不覆盖原来的句子。接着写 的 话如何快速修改?
要是想覆盖原来的句子又要如何修改呢?
是不是每个cout前面都要加上 打开文件的命令?
可否创建文件,打开文件的命令就写一次呢?
2
c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何?
3:
c++ 中如何控制写入文件的时候是接着写还是从头写?
请问如何控制从某一行开始写?
如何控制从某一行某一句开始写?
4如何控制跳转到文件中的某一行,然后找到某个单词,替换成别的内容? 或者从某处开始添加句子呢?
谢谢大家帮助。
谢谢帮助。
------解决方案--------------------
如果程序没有输入的话,直接用输出重定位就行。
如果你的程序叫a.exe,那么就在cmd里面输入
a.exe >c:\result.txt
什么都不用更改,原来屏幕输出的东西就全到txt里了
------解决方案--------------------
用惯了cout,而且程序中需要等待用户输入的话。
建议使用ofsream,搜索一下它的用法吧,跟cout很像^_^
------解决方案--------------------
http://blog.csdn.net/qinlicang/archive/2009/07/07/4327189.aspx
------解决方案--------------------
2
c++中如何新建一个文件,然后打开一个文件。然后写入一个文件。 格式如何?
FILE* fo;
fo = fopen("c.txt","a");
fprintf(fo,"test");
fclose(fo);
最简单的新建一个文件,然后打开一个文件。然后写入一个文件。
------解决方案--------------------
不覆盖原来的句子的话,只要在main的第一句那里加上
freopen("out.txt","w",stdout);
就可以了。
------解决方案--------------------
在程序里面直接重定向stdout!
stdout的文件描述符是1
调用
int fd = open("file_path", O_CREAT|O_RDWR)
dup2(fd, 1);
这样标准输cout出就全部到你指定的文件中去了!
------解决方案--------------------
可以在程序的开始,打开一个文件, 然后使用下面的语句可以将cout定向到文件中去.假设文件名称是"log.txt"
std::ofstream logFile("log.txt");
std::streambuf *outbuf = std::cout.rdbuf(logFile.rdbuf());
这样,你程序的所有使用 cout的输出都会写到 log.txt文件中.
程序结束的地方,要将cout恢复:
std::cout.rdbuf(outbuf);
------解决方案--------------------
我上面说的方法是把所有的cout的输出定向到文件中去,不包括printf等输出.上面的8楼的方法:
freopen("log.txt", "w", stdout);
也是一个好办法。不过它是将所有的stdout(包括 cout及 printf)的输出都定向到文件中去了。
------解决方案--------------------
直接用命令行,重定向就行,有输入也是可以的,你还可以开两个文件一个用于输入一个用于输出,在自已的程序中不用加入任何其它的代码,应该是比较方便的,不过它是会覆盖的,不覆盖的方法还不清楚。至于在程序中加代码fopen,楼上几位已经说得差不多了,就不凑热闹了^_^