C++ cli visualc中的流问题+;2010关于字符串 我试图在Visual C++ 2010中创建Windows窗体应用程序。我在字符串变量“stat”中保存了一些特定字符串,如:

C++ cli visualc中的流问题+;2010关于字符串 我试图在Visual C++ 2010中创建Windows窗体应用程序。我在字符串变量“stat”中保存了一些特定字符串,如:,c++-cli,C++ Cli,问题是,我无法使用ofstream将其写入文本文件。当我尝试这个: if ( opstat == true ) // opstat is a bool variable { ofstream outf("mytxt.txt",ios::app); outf << stat; outf.close(); } if(opstat==true)//opstat是bool变量 { 流量输出(“mytxt.txt”,ios::app); 输出D:\Developmen

问题是,我无法使用ofstream将其写入文本文件。当我尝试这个:

if ( opstat == true ) // opstat is a bool variable
{
    ofstream outf("mytxt.txt",ios::app);
    outf << stat;
    outf.close();
}
if(opstat==true)//opstat是bool变量
{
流量输出(“mytxt.txt”,ios::app);

输出D:\Development\Visual Studio 2010\VC\include\ostream(447)或:“STD::Basic IoSooS:Stras::运算符< P>代码>:STD::OFFROW 系统::Stry^ < /Cube >。如果您想从<代码>系统::String ^ < /Cuff>写入文件,您应该使用<代码>系统::IO::FielestRAM类。否则,使用<代码> STD::String 代替<代码>系统:字符串> < /P> <代码> STD::OFFROWS 是一个C++标准库函数,它不是为支持<代码>系统::Stry^ < /C> >。如果您想从<代码>系统::String ^ < /Cuff>中写入文件,您应该使用<代码>系统::IO::FielestRAM类。否则,使用<代码> STD::String < /Cord>In除了
System::String^

之外,我认为您必须将
System::String ^stat
转换为
std::String
。请参见下面的链接如何转换:


我认为您必须将
System::String ^stat
转换为
std::String
。请参见下面的链接如何转换:


Hmm,我假设您使用的是std::ostream?那么System::String到底是什么呢?问题似乎是没有“您知道和之间的区别吗?我这样问是因为您标记了前者,但这段代码是后者。@user905686:
System::String
我想是指.NET字符串类。嗯,我假设您使用的是std::ostream?那么System::String到底是什么?问题似乎是没有“你知道这和我之间的区别吗?我问你是因为前一个,但是这个代码是后者。@ USE905686:<代码>系统:String 指的是.NET String类。我想,<代码> OfString 不是,并且从来不是STL的一部分。术语是“C++标准库”。C++还包括了那些实际上来自STL的部分。<代码> OfStase<代码>不是,也从来不是STL的一部分。,这也涵盖了实际上最初来自STL的部分。在学习如何将
System::String
转换为
std::String
之后,也许作为练习,在学习如何将
System::String
转换为
std::String之后,实现一个允许键入
System::String^
的流插入器,也许作为一个练习,实现一个流插入器,它允许输入
System::String^
if ( opstat == true ) // opstat is a bool variable
{
    ofstream outf("mytxt.txt",ios::app);
    outf << stat;
    outf.close();
}
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'System::String ^' (or there is no acceptable conversion)
1>          D:\Development\Visual Studio 2010\VC\include\ostream(447): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]