Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何输出变量';s声明为C++; 我对C++非常陌生,我想知道如何将变量声明为双变量,将变量写入TXT文件。我知道如何使用fstream输出字符串,但我不知道如何发送其他内容。我开始认为,除了字符串,你不能向文本文件发送任何东西,对吗?如果是这样,那么如何将存储在变量中的信息转换为字符串变量_C++_Iostream_Fstream - Fatal编程技术网

如何输出变量';s声明为C++; 我对C++非常陌生,我想知道如何将变量声明为双变量,将变量写入TXT文件。我知道如何使用fstream输出字符串,但我不知道如何发送其他内容。我开始认为,除了字符串,你不能向文本文件发送任何东西,对吗?如果是这样,那么如何将存储在变量中的信息转换为字符串变量

如何输出变量';s声明为C++; 我对C++非常陌生,我想知道如何将变量声明为双变量,将变量写入TXT文件。我知道如何使用fstream输出字符串,但我不知道如何发送其他内容。我开始认为,除了字符串,你不能向文本文件发送任何东西,对吗?如果是这样,那么如何将存储在变量中的信息转换为字符串变量,c++,iostream,fstream,C++,Iostream,Fstream,这是我的代码,我正试图将这个概念实现到其中,它相当简单: int main() { double invoiceAmt = 3800.00; double apr = 18.5; //percentage //compute cash discount double discountRate = 3.0; //percentage double discountAmt; discountAmt = invoiceAmt * discountRate/100;

这是我的代码,我正试图将这个概念实现到其中,它相当简单:

int main()
{

double invoiceAmt = 3800.00;
double apr = 18.5;            //percentage

//compute cash discount
double discountRate = 3.0;    //percentage
double discountAmt;

discountAmt = invoiceAmt * discountRate/100;

//compute amount due in 10 days
double amtDueIn10;

amtDueIn10 = invoiceAmt - discountAmt;

//Compute Interest on the loan of amount (with discount)for 20 days
double LoanInt;

LoanInt = amtDueIn10 * (apr /360/100) * 20;

//Compute amount due in 20 days at 18.5%.
double amtDueIn20;

amtDueIn20 = invoiceAmt * (1 + (apr /360/100) * 20);
return 0;
}
所以我要做的就是使用这些变量并将它们输出到文本文件中。另外,请告知我的包括,我需要使用这个源代码。请随时提供建议,以提高我的代码在其他方面以及请


提前感谢。

正如您的标签所示,您使用文件流:

std::ofstream ofs("/path/to/file.txt");
ofs << amtDueIn20;

你能试试这个吗

要回答第一个问题,在C语言中使用printf(并用于文件输出fprintf)。IIRC,cout也有大量的修饰符,但我不会像您最初提到的fstream(比C++更以“C”为中心)那样提到它们--


哦,错过了ofstream指示器,请忽略我的“C”注释并使用C++



为了改进您的程序,请确保在进行上述计算时经常使用括号,以100%确保按照您希望的方式计算(不要依赖于优先级)

一般来说,写入输出的方法有printf、wprintf等

对于文件,这些方法被命名为fprintf_s、fsprintf_s等

请注意,“\s”方法是以前格式化方法的新安全变体。您应该始终使用这些新的安全版本

有关示例,请参阅:


注意:这些方法使用格式说明符将给定类型转换为文本。例如%d充当整数的占位符。类似地,双精度的%f。

只需使用流写入运算符只需使用
我遇到了完全相同的问题,ofstream输出字符串,但在到达变量后立即停止。通过更多的谷歌搜索,我在论坛帖子中找到了这个解决方案:

在Xcode 3.2下,基于stdc++项目模板创建新项目时,调试配置的目标生成设置会添加与gcc-4.2不兼容的预处理器宏: _GLIBCXX_调试=1 _GLIBXX_DEBUG_PEDANTIC=1

如果希望Debug/gcc-4.2正确执行,请销毁它们


作为一般说明,因为您可能是编程新手(不仅仅是C++);使用浮点进行货币计算通常不是一个好主意。你想要尽可能精确地处理你的钱,而浮点计算不能胜任这项任务。事实上,我对编程并不陌生,我学过Java和vb,但那是两年前的事了,所以已经有一段时间了。双打的原因是这是一个课堂作业,我的教授出于某种原因希望他们这样说。fstream“更以C为中心”?这是一个流类,非常感谢您的提示,非常感谢Sam,您的评论和我的编辑一定在邮件中出现了:)我做了大量的研究,并了解了这个源代码,但我似乎只能让它工作,如果它是用字符串而不是变量编写的。关于原因有什么建议吗?您可能忘记了将
#包括在内(标题中包含用于输出流的函数)。您可能通过
fstream
获得了
std::of stream
,而
操作符仍然无法工作。。。这是我尝试过的代码:ofstreamoutfile(“Program1.txt”);哦,我有outFile.close();最后,所以不是那样不,这不是你的问题。(它应该在调试模式下也能工作。)您只是隐藏了问题,但它仍然潜伏在某个地方,等待在您最不希望的时候跳到您身上。我使用了您提供的代码并测试了它,所有写入我的文本文件的内容都是“值是:”。变量根本没有显示。请帮忙
#include <iostream>
#include <fstream>

const double d = 3.1415926;

int main(){
    std::ofstream ofs("test.txt");
    if( !ofs.good() ) {
        std::cerr << "Couldn't open text file!\n";
        return 1;
    }
    ofs << d << '\n';
    return 0;
}
3.14159
#include <fstream>

...


    std::fstream stmMyStream( "c:\\tmp\\teststm.txt", std::ios::in | std::ios::out | std::ios::trunc );

    double dbMyDouble = 23.456;
    stmMyStream << "The value is: " << dbMyDouble;
#include <fstream>

int main() {
  double myNumber = 42.5;
  std::fstream outfile("test.txt", std::fstream::out);
  outfile << "The answer is almost " << myNumber << std::endl;
  outfile.close();
}