0

フルパスでファイルを読み取り、各行を取得して配列に入れようとしています。私のコードは次のようなものです:

#include <fstream>
#include <iostream>

using namespace std;

void  main(){
    int Log[200];
    int i;

    For(int i=0; i<30; i++)
    {
        getline(/var/asl/data/audit/20130502/20130502-0611/20130502-61157-UYHEZX8AAAEAAAbKRvKAAAAC, line);

        Log[i] = line;
        cout << Log[i] < "\n";
    }
}

しかし、以下のエラーが発生し、それらを解決する方法がわかりません。誰でも私を助けることができますか?

log1.cpp:7: エラー: :main は int を返す必要があります

log1.cpp: 関数 int main() 内:

log1.cpp:12: エラー: int の前にプライマリ式が必要です

log1.cpp:12: エラー: トークンの前に必要

私が持っている別の質問は、配列に格納されている行にある特殊文字を検索したい場合 (配列内の検索を意​​味します)、どうすればよいですか?


ご返信いただきありがとうございます。コードを試してみましたが、エラーはありません。しかし、実行しても何も起こりません。私のファイルはテキスト形式ではありません。これは、Apache サーバーのログ形式と同じです。テキスト形式にする必要がありますか?もう1つの質問は、これらの行を配列に入れた場合、その中の特別な値を検索できますか? 事前にご返信いただきありがとうございます。

4

1 に答える 1

2

Salam ,Try this:

#include <fstream>
#include <iostream>
#include <string>    

using namespace std;

int main(){
    string line;
    ifstream myfile ("example.txt"); //file address
    string Log[200];
    int i=0;

    if (myfile.is_open())
    {
        while ( myfile.good() )
        {
            getline (myfile,line);
            Log[i] = line;
            i++;
            cout << line << endl;
        }
        myfile.close();
    }

    return 0;
}
于 2013-07-21T11:14:15.113 に答える