我正在编写一个程序,我希望用户能够指定输出是写入文件还是写入标准输出。到目前为止,我的程序一直使用printf命令,所以我希望简单地将命令更改为fprintf命令,但我的编译器对我大喊大叫,因为很明显,它们不是相同的对象类。
例如:
FILE *fp;
bool print_to_file;
.
.
.
if(print_to_file){
fp = fopen("something.txt", "w");
}
else{
fp = &stdout;
}
fprintf(fp,"%s\t%s\t%s\n",string1 . c_str(), string2 . c_str(), string3 . c_str());
我更喜欢使用fprintf并找到一个指向stdout的文件指针,有人知道这是否可行吗?如果答案是否定的,我可以将我的文件作为fstream打开,然后使用fprintf吗?
https://stackoverflow.com/questions/3551125
复制相似问题