怎么从键盘直接写入ofstream 流对象?

C、C++和Java语言
回复
me
帖子: 972
注册时间: 2007-09-14 19:51
送出感谢: 0
接收感谢: 0

怎么从键盘直接写入ofstream 流对象?

#1

帖子 me » 2007-10-10 13:11

代码: 全选

#include<fstream>
#include<iostream>
int main()
{
    using namespace std;
    ofstream ofile;
    ofile.open("qiu");
    cin>>ofile;
    return 0;
}

编译不过:1.cpp:7: 错误:

代码: 全选

1.cpp: In function ‘int main()’:
1.cpp:9: 错误: ambiguous overload 为 ‘operator>>’ 在 ‘std::cin >> ofile’ 中
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/istream:131: 附注: 备选为: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>] <就近匹配>
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/istream:134: 附注:          std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>] <就近匹配>
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/istream:137: 附注:          std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits = std::char_traits<char>] <就近匹配>
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/istream:230: 附注:          std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits = std::char_traits<char>] <就近匹配>

为什么不能这样呢?

是不是非要一个中间变量temp才行:

代码: 全选

#include<fstream>
#include<iostream>
#include<string>
int main()
{
    using namespace std;
    ofstream ofile;
    ofile.open("qiu");
    string temp="晕";
    cin>>temp;
    ofile<<temp;
    return 0;
}
上次由 me 在 2007-10-10 13:36,总共编辑 1 次。
me
帖子: 972
注册时间: 2007-09-14 19:51
送出感谢: 0
接收感谢: 0

#2

帖子 me » 2007-10-10 13:22

自己顶
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#3

帖子 BigSnake.NET » 2007-10-10 13:26

>> 不是这样用的吧..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
me
帖子: 972
注册时间: 2007-09-14 19:51
送出感谢: 0
接收感谢: 0

#4

帖子 me » 2007-10-10 13:40

我少include了iostream
但是还是编译不了
详细的错误提示在一楼
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#5

帖子 BigSnake.NET » 2007-10-10 13:51

代码: 全选

(13:55) <   manphiz> AutumnCat, 告诉他, ofstream 只能 << ,不能 >>
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
me
帖子: 972
注册时间: 2007-09-14 19:51
送出感谢: 0
接收感谢: 0

#6

帖子 me » 2007-10-10 14:04

也就是说要写入到文件只用 变量的方式?:
string temp="晕";
ofile<<temp;
是这样吗?
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

#7

帖子 windwiny » 2007-10-10 14:06

cin 在 iostream 里
回复

回到 “C/C++/Java”