2016-07-21 5 views
0

まず、私はC++の初心者です。私は答えを見つけることができません。' n'(行末)まで読む

こんにちは、私はインタプリタを書こうとしています。

#define __TEST__ 1 
while(Source >> Word){ //Source is file descriptor. I can't use EOF method because of if i do that, i will need to write two statments. Critical... 
    if(Word == '\n'){ // Word is a string object. 
     //Clean the vector 
#  if __TEST__ 
      cout << "Succesful!" << "\n"; 
#  endif  
    }    
} 

私はこのコードをコンパイルしようとすると、それはだが、理由は「'」トークンのエラーを与える:私はこれがしようとしたとき、私は、行終端として「\ n」を選択します。 "" 'トークンで変更すると、コンパイラはエラーは発生しませんが、実行時にプログラムが行末を検出できない場合はどうすればいいですか?

+0

'Word'が宣言されているどのような – aschepler

+0

。。?「文字列のWordを;」 –

+0

@ Great.And.Powerful.Oz「Word」の長さはどのような場合に0になると思いますか?それは次の行で読み続けるだけなので痛いです。 – sepp2k

答えて

1

>>は空白を捨てますので、Wordは' tはこれまでに改行が含まれている

あなたが行の最後まで読みたい場合は、あなたではなく>>よりgetline機能を使用する必要があります

+0

ありがとうございましたが、どうやって言葉に分けることができますか? –

+1

@IbrahimIpekあなたの言語の字句規則に従ってください(これは間違いなく '>'ほとんど確実ではありません)。 – sepp2k

+0

彼の質問に答えることができないので、マイナス1 @ – GreatAndPowerfulOz

関連する問題