• ベストアンサー

テキストを一文字以上ずつ読み込みたい。

通常テキストを一文字ずつ読み込む時って cin.get(c)とか、やりますよね? でも、二文字ずつ読み込む時ってどうやるんですか? そもそもできるんでしょうか? もしできないとしたら、それに相当する書き方とかあるんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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); とすれば、良いのでは。

関連するQ&A