关于C++的构造器与析构器
我用小甲鱼的代码在终端输入图片里的那个几个文字回车后却跟小甲鱼的视频不一样。我在想是不是std::getline的问题?各位鱼油请教一下
#include <iostream>
#include <string>
#include <fstream>
class StoreQuote
{
public:
std::string quote, speaker;
std::ofstream fileOutput;
StoreQuote();//构造器
~StoreQuote();//析构器
void inputQuote();
void inputSpeaker();
bool write();
};
StoreQuote::StoreQuote()
{
fileOutput.open("test.txt", std::ios::app);
}
StoreQuote::~StoreQuote()
{
fileOutput.close();
}
void StoreQuote::inputQuote()
{
std::getline(std::cin, quote);
}
void StoreQuote::inputSpeaker()
{
std::getline(std::cin, speaker);
}
bool StoreQuote::write()
{
if( fileOutput.is_open() )
{
fileOutput << quote << "|" << speaker << "\n";
return true;
}
else
{
return false;
}
}
int main()
{
StoreQuote quote;
std::cout << "请输入一句名言:\n";
quote.inputQuote();
std::cout << "请输入作者:\n";
quote.inputSpeaker();
if( quote.write() )
{
std::cout << "成功写入文件^_^";
}
else
{
std::cout << "写入文件失败T_T";
return 1;
}
return 0;
}
你是照打的吧。是不是打错了哪里,检测下 ba21 发表于 2018-5-26 14:22
你是照打的吧。是不是打错了哪里,检测下
我也是怀疑过,但是这个代码我是用鱼币购买,用跟视频中的代码一样。所以鱼油再看看{:10_254:} 林二捆 发表于 2018-5-26 16:27
我也是怀疑过,但是这个代码我是用鱼币购买,用跟视频中的代码一样。所以鱼油再看看
没有问题呀
人造人 发表于 2018-5-26 20:42
没有问题呀
当我输入名言后,我要按两次回车,然后才输入作者。然后到txt文件去看就是我截图的那样子了。你的终端属于是怎么输的?也顺便截个图给我!谢谢你{:5_92:} 林二捆 发表于 2018-5-30 08:40
当我输入名言后,我要按两次回车,然后才输入作者。然后到txt文件去看就是我截图的那样子了。你的终端属 ...
人造人 发表于 2018-5-30 15:37
我感觉我输入的时候,跟你的不一样,我的就如照片,每次多出红色方框的那一行。输出来的txt就是 1234|空格,我的感觉就是这样。不过在小甲鱼的代码上加了一句std::cin.sync();
输出来的结果就是我所想要的结果了。所以,我在想,是不是因为空格或者回车的 问题? 林二捆 发表于 2018-5-31 09:22
我感觉我输入的时候,跟你的不一样,我的就如照片,每次多出红色方框的那一行。输出来的txt就是 1234| ...
我在VC6试了一下,和你的结果完全一样
我百度了一下,发现这是VC6的问题
VC6太老了,有好多问题,用新的吧,例如VS2017
https://www.cnblogs.com/wanghao111/archive/2009/09/05/1560822.html
http://blog.sina.com.cn/s/blog_5372afbf01016vs6.html 人造人 发表于 2018-5-31 13:10
我在VC6试了一下,和你的结果完全一样
我百度了一下,发现这是VC6的问题
VC6太老了,有好多问题,用新 ...
多谢大神知道。在下佩服。真的很感谢
页:
[1]