程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 If 语句/条件将数据输出到一个文件或另一个文件 C++大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 If 语句/条件将数据输出到一个文件或另一个文件 C++?

开发过程中遇到使用 If 语句/条件将数据输出到一个文件或另一个文件 C++的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 If 语句/条件将数据输出到一个文件或另一个文件 C++的解决方法建议,希望对你解决使用 If 语句/条件将数据输出到一个文件或另一个文件 C++有所启发或帮助;

刚接触 C++。我有一个 #define 变量(全局变量?不确定在 C++ 中这些变量是什么),我可以将其设置为 1 或 0。如果它是 == 1,我希望我的代码将我的数据输出到“file_A.txt ”。如果它 == 0,我希望我的代码将数据输出到“file_B.txt”。

我在初始化输出文件时尝试使用 if 语句:

#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;
#define value 1
...
if (value == 1){
  ofstream fout("file_A.txt");
} else if (value == 0){
  ofstream fout("file_B.txt");
       }

但是当我尝试关闭文件 fout 时,似乎这样做会使代码无法将 fout << endl; 识别为输出文件标识符,而是认为 fout 是未声明的变量...当我尝试编译时,它返回经典错误 error: ‘fout’ was not declared in this scope

我觉得这应该很简单,哈哈。如果我需要提供更多细节,请告诉我。我尽量保持简短,直截了当。

谢谢

解决方法

这是基于 Sam Varshavchik 评论的代码片段:

std::ofstream fout; // Don't assign to a file yet.
//...
char const * p_filename = nullptr;
switch (value)
{
    case 0:  p_filename = "File_B.txt"; break;   
    case 1:  p_filename = "File_A.txt"; break;   
}
fout.open(p_fileName);

在上面的例子中,首先根据value确定文件名,然后使用文件名打开文件流变量。

编辑 1:替代方案
另一种方法是先确定文件名,然后声明文件流:

char const * p_filename = nullptr;
switch (value)
{
    case 0:  p_filename = "File_B.txt"; break;   
    case 1:  p_filename = "File_A.txt"; break;   
}
std::ofstream fout(p_fileName);

大佬总结

以上是大佬教程为你收集整理的使用 If 语句/条件将数据输出到一个文件或另一个文件 C++全部内容,希望文章能够帮你解决使用 If 语句/条件将数据输出到一个文件或另一个文件 C++所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:使用