dポイントプレゼントキャンペーン実施中!

10文字をスキップするプログラムなのですが、どのようにスキップしているのかわからないので教えてください。
下にソースコードを書きます。

#include <iostream>
using namespace std;

//10文字をスキップする
istream &skipchar(istream &stream)
{
int i;
char c;

for(i=0; i<10; i++)stream >> c;

return stream;
}

int main()
{
char str[80];

cout << "いくつかの文字を入力する:";
cin >> skipchar >> str;

cout << str << endl;

return 0;
}

よろしくおねがいします。

A 回答 (2件)

関数呼び出しっぽく書けば



operator>>(cin.operator>>(skipchar), str);
または
operator>>(skipchar(cin), str);
みたいな感じですか。

やってることは
-------
cout << "いくつかの文字を入力する:";
char c;
for(int i = 0; i < 10; i++) cin >> c;
cin >> str;
-------
と同じと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
よくわかりました。

お礼日時:2014/06/26 16:52

class basic_istream {


pubilc:
basic_istream& operator>>(basic_istream& (*func)(basic_istream&)) {
return ((*func)(*this));
}
...
};

と定義されています。
なので、

cin >> skipchar >> str は

skipchar(cin) >> str; となりますね。
    • good
    • 0
この回答へのお礼

詳しく教えていただきありがとうございます。
おかげでよくわかりました。

お礼日時:2014/06/26 16:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!