- ベストアンサー
テキストを一文字以上ずつ読み込みたい。
通常テキストを一文字ずつ読み込む時って cin.get(c)とか、やりますよね? でも、二文字ずつ読み込む時ってどうやるんですか? そもそもできるんでしょうか? もしできないとしたら、それに相当する書き方とかあるんでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
iostream(ていうかC++)はよく解らないのですが... "stdio.h"に定義されているfgets()関数を使えばいいのではないでしょうか。 fgets( char* 読込先の文字配列, int 読む文字数+1, FILE* 読み込むファイルポインタ); です。 以下は使用例です。 #include <stdio.h> int main(){ char buf[5]; FILE* fp; if((fp=fopen("C:\\aaaa.txt","ra"))==NULL){ printf("ファイルのオープンに失敗.\n"); return 0; } fgets(buf, 3, fp); printf("%s\n", buf); fclose(fp); return 0; } fopen関数でファイルのファイルポインタを作って fgets()で二文字読み、表示してから fclose関数でファイルポインタを無効にします。 配列を知らないって場合はちょっときついかもしれませんが... ま、その際は補足要求をどうぞ。
その他の回答 (1)
- itohh
- ベストアンサー率45% (210/459)
回答No.2
こんにちは。itohhといいます。 iostreamの場合、 cin.read(pch, 2); とすれば、良いのでは。