2010-08-08 45 views
0

即時通訊使用vC++表單。我創建了一個文本框,即時嘗試獲取它的值,我用textBox1->文本。所有我試圖做的是創建一個文件名text.txt,而不是寫在文件內的文本框1內。這裏的代碼vC++表單設計器

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { 
      Help::ShowPopup(button1, textBox1->Text , Point(button1->Right,this->button1->Bottom));//works here 
      ofstream a_file("test.txt"); 
      a_file << textBox1->Text;//get error 
      a_file.close(); 
      if (!a_file.is_open()) 
       Help::ShowPopup(button1, "s" , Point(button1->Right,this->button1->Bottom)); 

      Application::Exit; 
     } 

的錯誤是這樣的錯誤C2679:二進制「< <」:沒有操作員發現這需要類型的右邊的操作數「系統::字符串^」(或沒有可接受的轉化率) 在此先感謝 rami

回答

1

不要混合託管和非託管類型,除非這是絕對必要的。用託管StreamWriter替換非託管流:

 
System::IO::StreamWriter sw = gcnew System::IO::StreamWriter(L"test.txt"); 
sw->WriteLine(textBox1->Text); 
sw->Close(); 
+0

是不是c代碼而不是C++代碼? – Ramilol 2010-08-08 13:46:06

+0

這是C++/CLI,與您發佈的代碼完全相同。 – 2010-08-08 13:54:58

+0

非常感謝你解決它我剛剛添加了一個^在哪裏yu宣佈sw在行一謝謝! – Ramilol 2010-08-08 13:59:57