ファイル読み込み

[戻る]
サマー [E-Mail] [HomePage] 2006/06/25(日) 19:33:48
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' : 左側がクラス、構造体、共用体、ジェネリック型
へのポインタではありません。

のようなエラーがでます。どこがまちがってるのかよくわからないので
おしえていただけないでしょうか?

YuO [E-Mail] 2006/06/25(日) 19:50:45
39行目が
> while (sLine-> != 0)
と,->があるのにメンバ名が続いていません。

επιστημη 2006/06/25(日) 19:56:59
> どこがまちがってるのかよくわからないので
> おしえていただけないでしょうか?

まず 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);
     }
}

サマー [E-Mail] [HomePage] 2006/06/26(月) 14:17:15
[[解決]]
↑の方法でなんとかなりそうです。ありがとうございました。

古いスレッドには追加発言できません。