如何输出变量';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();
}