2017-08-06 13 views
-1

私は、文字列変数(文字列変数に格納されている)をテキストファイルに保存しようとしています...文字通り、これを見て2時間近く費やしていて、なぜC++が書くことができないのかを知ることができませんでした文字列変数をテキスト文書に変換します。Windowsフォーム(C++)の文字列をテキストに保存するにはどうすればよいですか?

私はここで何が欠けていますか?

private: System::Void SaveButton_Click(System::Object^ sender, System::EventArgs^ e) { 

String^ _String= "WHATTHEFUCK"; 
//So this works vvv 
ofstream _SaveFile; 
_SaveFile.open("SaveCFG.txt"); 
_SaveFile << "FUUUUCK"; //<<<<<<<< 
_SaveFile.close(); 
//^^^ 

//But this does NOT work vvv 
ofstream _SaveFile; 
_SaveFile.open("SaveCFG.txt"); 
_SaveFile << _String; //<<<<<<<< 
_SaveFile.close(); 
//^^^ 

//Neither does this vvv 
ofstream _SaveFile; 
_SaveFile.open("SaveCFG.txt"); 
_SaveFile << "WTF" << _String<< endl; //<<<<<<<< 
_SaveFile.close(); 
//^^^ 

}

+0

テキストファイルには何が入っていますか?何か?ゴミの4-8文字ですか?私はC/C++で10年以上働いていませんが、実際の文字列ではなくファイルにポインタ値を書き込んでいる可能性はありますか? –

+0

ありがとう私はcharポインタを試して、それは働いた。私はString ^を使い、std :: stringに変換してchar *に変換しなければなりませんでした。私は正直なところ、文字列を書く複数の異なる方法のポイントを理解しておらず、一方の文字列が他の文字列が文字列であることを知らないので、それらを互いに変換する必要があります。私は病気 'ちょうどC#と固執すると思います。 – Zachwuzhere

+0

しかし、C++/CLIを使用している場合、managed Fileクラスを使用するのはなぜですか? – KBO

答えて

0

はここに道をオフすることができますが、ポインタではなく、文字列を書いていると仮定して可能性があります。 (私の記憶が正しければ)C++コンパイラを持っていないが、あなたは試みることができる:

//But this does NOT work vvv 
ofstream _SaveFile; 
_SaveFile.open("SaveCFG.txt"); 
_SaveFile << *_String; // or is it &_String; 
_SaveFile.close(); 
//^^^ 

、今日の人々はものの代わりのstd ::文字列を使用するように見えます。あなたがあなたの答えを見つけることを願っています。

関連する問題