30 // ファイルオープン
31 StreamReader^ objReader = gcnew StreamReader(c:\\test.txt);
32
33 // 配列と変数の定義
34 String ^ sLine = ";
35 ArrayList ^ arrText = gcnew ArrayList();
36
37 // 1行ずつ読み込む
38 sLine = objReader->ReadLine();
39 while (sLine-> != 0)
40 {
41 arrText->Add(sLine);
42 sLine = objReader->ReadLine();
43 }
44
45 //ファイルクローズ
46 objReader->Close();
47
48
49 // コンソールに出力
50 for(int i = 0; i < arrText->Count; i++) {
51 Console::WriteLine(arrText->Item[i]->ToString());
}
ファイル読み込みをしようとして以上のコードを書いたのですが、
(39) : error C2059: 構文エラー : '!='
(40) : error C2143: 構文エラー : ';' が '{' の前にありません。
(41) : error C2039: 'arrText' : 'System::String' のメンバではありません。
c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : 'System::String'
の宣言を確認してください。
(41) : error C2039: 'Add' : 'System::String' のメンバではありません。
c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : 'System::String'
の宣言を確認してください。
(51) : error C3293: 'Item': クラス 'System::Collections::ArrayList' の既定プロ
パティ (インデクサ) にアクセスするためには 'default' を使用してください
(51) : error C2227: '->ToString' : 左側がクラス、構造体、共用体、ジェネリック型
へのポインタではありません。
のようなエラーがでます。どこがまちがってるのかよくわからないので
おしえていただけないでしょうか?
39行目が
> while (sLine-> != 0)
と,->があるのにメンバ名が続いていません。
> どこがまちがってるのかよくわからないので
> おしえていただけないでしょうか?
まず line-39 のエラーをなんとかしてください。
# while (sLine-> != 0) ←明らかにヘン。
------------ こんなんでいいのかしら ----------------
/* readmyself.cpp */
using namespace System;
using namespace System::IO;
using namespace System::Collections;
int main() {
StreamReader^ objReader = gcnew StreamReader(readmyself.cpp);
// 配列と変数の定義
String ^ sLine;
ArrayList ^ arrText = gcnew ArrayList();
// 1行ずつ読み込む
while ( (sLine = objReader->ReadLine()) != nullptr ) {
arrText->Add(sLine);
}
objReader->Close();
// コンソールに出力
for each ( String^ line in arrText ) {
Console::WriteLine(line);
}
}
↑の方法でなんとかなりそうです。ありがとうございました。