2011-12-29 10 views
0

の配列に変換するには、まずここではすでに暗号化されたファイルを開くしようとしているのVisual C++エラー閲覧ファイルストリームと文字

private: System::Void openToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { 
     OpenFileDialog^ dlg = gcnew OpenFileDialog(); 
     dlg->Filter = "Text Files|*.txt"; 
     String^ stream; 
     if(dlg->ShowDialog()==Windows::Forms::DialogResult::OK) 
     { 
      txtOutput->Text = System::IO::File::ReadAllText(dlg->FileName); 


      char* num = (char*)(void*)Marshal::StringToHGlobalAnsi(stream); //Convert string to array of char 

      for (int i=0;i<stream->Length;++i) //ERRONEOUS LINE!! 
      { 
       num[i] = num[i]^key; //DECRYPT 
      } 
      String^ orig_stream = gcnew String(num); 
      txtOutput->Text = orig_stream; 

     } 
    } 

イムをワーク・するために取得しようとイムコードです。プログラムは、W/Oエラーをすべてコンパイルしますが、実行時に、それは、壊れ継続または中止することが私にオプションを使用して、次のエラーを与える:

An unhandled exception of type 'System.NullReferenceException' occurred in Project_Targaryen.exe 
Additional information: Object reference not set to an instance of an object. 

forループラインにエラーポイントを。 ご協力いただければ幸いです!

+0

ストリームは決してオブジェクトインスタンスに割り当てられていないようです。 – DRH

+0

ああイエス・キリスト!基本的なエラー!ごめんなさい!!そしてありがとう! – arijeet

答えて

0

streamは、forループで使用される前にオブジェクトに関連付けられていません。