今日は仕事で嫌なことがあった。
上司の命令は聞かなきゃならない。基本はね。だけど馬鹿正直になんでも聞いてると調子にのってくる。働いてる人はわかるだろう。巧妙に避けなきゃこんなもの身が持たないんだよね。取引先でもない知らない友達のパシリやれだぁ?お・こ・と・わ・り・で・す!
テメェのプライベートで勝手にやれっての! チョットぐらいだって?じゃあお前がやれっての。こんなこと言うと出来のいい洗脳社員は怒り狂うんだろうな...。「上司の指示は絶対だっ!」ってね。そりゃまともな給料なら文句はいわねぇよ。割りにあわねぇん......もういいや。
はい今日はテキストデータの1行ごとの読込です。sf-book.txtには"text string length"が記述されているものとします。ではコードを
QString str; QFile file("sf-book.txt"); if (!file.open(QIODevice::ReadOnly))//読込のみでオープンできたかチェック { return; } QTextStream in(&file); str = in.readLine(0);//1行読込
説明不要なくらい簡単ですね。オープンして読込むだけです。ちなみにreadLineの引数は0だと行を任意の長さに、そのほかの値を入力すると入力した長さの文字列を取得できます。
例えば3にすると "tex"までを取得できます。一応リファレンスを
QString QTextStream::readLine ( qint64 maxlen = 0 )
一行テキストストリームから読込。行の長さはmaxlenに設定でき、これよりも長い行のストリームが含まれる場合は、それは分割される。(次の行という扱いになる。)
もし、maxlenを0にした場合、それは任意の行の長さとなる。返される行が後続の行の終わりの文字を持たない ("\n" or "\r\n"), のでQString::trimmed()は呼ばなくてよい。
もし、末尾になったらnullが返される。atEnd()を使えば次に読み取るデータがあるかどうかチェックできる。(リファレンス)
もし、末尾になったらnullが返される。atEnd()を使えば次に読み取るデータがあるかどうかチェックできる。(リファレンス)
以上です。明日は全読込です。その次はoperatorを使った独自クラス読込かな。
では。