コマンドラインで入力したテキストファイルのテキストを1行ずつ表示しようとしています。しかし、何らかの理由で、最初の行の後の各行の最初の単語をスキップします。
コード:
using std::cout;
using std::cin;
using std::endl;
int main (int args, char* argv[])
{
char x[100];
char y[100];
char z[100];
cin.getline(x,100) >> argv[2];
cin.getline(y,100) >> argv[2];
cin.getline(z,100) >> argv[2];
cout << x <<endl;
cout << y <<endl;
cout << z <<endl;
return 1;
}
./a.out <moby.txtを実行すると、次のように表示されます。
CHAPTER 1. Loomings.
me Ishmael. Some years ago--never mind how long precisely--having
or no money in my purse, and nothing particular to interest me on
しかし、moby.txtの最初の3行は次のとおりです。
CHAPTER 1. Loomings.
Call me Ishmael. Some years ago--never mind how long precisely--having
little or no money in my purse, and nothing particular to interest me on
コードは「Call」と「little」を省略しています。
これは\nエラーのように感じますが、修正方法がわかりません。助けてくれてありがとう。