加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何使用std :: wifstream将其内容作为std :: wstring读取

发布时间:2020-12-16 09:30:44 所属栏目:百科 来源:网络整理
导读:我在尝试这个: std::wstringstream wstrStream;std::wifstream wifStream(str.c_str());wifStream wstrStream; 但我得到了这个编译错误: error C2664: 'std::basic_istream_Elem,_Traits::_Myt std::basic_istream_Elem,_Traits::operator (std::basic_ist
我在尝试这个:

std::wstringstream wstrStream;
std::wifstream wifStream(str.c_str());
wifStream >> wstrStream;

但我得到了这个编译错误:

error C2664: 'std::basic_istream<_Elem,_Traits>::_Myt &std::basic_istream<_Elem,_Traits>::operator >>
(std::basic_istream<_Elem,_Traits>::_Myt &(__cdecl *)
(std::basic_istream<_Elem,_Traits>::_Myt &))' : cannot convert parameter 1 from
'std::wstringstream' to 'std::basic_istream<_Elem,_Traits>::_Myt &)'
            with
            [
                _Elem=wchar_t,_Traits=std::char_traits<wchar_t>
            ]
            and
            [
                _Elem=wchar_t,_Traits=std::char_traits<wchar_t>
            ]

我理解运算符>>没有为wchar_t实现.

我发现很少有文档和对std :: wifstream的引用.
你会怎么用?

解决方法

操作符>>没有为两个流定义.如果要从文件中读取以空格分隔的字符串,请使用

std::wstring s;
wifStream >> s;

如果您的意思是要将整个文件复制到stringstream中,请使用

wstrStream << wifStream.rdbuf();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读