2009-06-09 20 views
21

私のコード内のどの行も特定の長さを超えていないことを確認する必要があります。C++で長い行のコードを分割する方法は?

通常、コンマまたは別の適切な区切りがある行を区切ります。

この行を2つに分割するにはどうすればよいですか?

cout<<"Error:This is a really long error message that exceeds the maximum permitted length.\n"; 

私はちょうど真ん中のどこかでEnterキーを押しても機能しません。

答えて

36

つのオプション:

cout << "Error:This is a really long " 
<< "error message that exceeds " 
<< "the maximum permitted length.\n"; 

または:

cout << "Error:This is a really long " 
    "error message that exceeds " 
    "the maximum permitted length.\n"; 

2番目の方が効率的です。

+10

2番目の場合の説明は便利です: ANSI Cでは、文字列リテラルを連結することができます。 "foo" "bar" "baz"は "foobarbaz"と同じになります – Hasturkun

+7

コンパイラによって連結されます。実行時に –

19
cout<<"Error:This is a really long error " 
"message that exceeds the maximum permitted length.\n"; 

または

cout<<"Error:This is a really long error \ 
message that exceeds the maximum permitted length.\n"; 

または

c\ 
o\ 
u\ 
t<<"Error:This is a really long error \ 
message that exceeds the maximum permitted length.\n"; 
+3

行末にバックスラッシュを含むバリアントを避けることを強くお勧めします。バックスラッシュと改行の組み合わせで複数の行に分割されたコメントの開始記号と終了記号を見せることはできませんでした。 :D –

8
cout << "Error:This is a really long error message " 
    "that does not exceed the maximum permitted length.\n"; 
0

これはちょうど私の2つのボブスすべてC++で、天気がそれはVSだ、またはLinux

cout<<"Error:This is a really long error message that \ 
    exceeds the maximum permitted length.\n"; 
+7

文字列に余分なタブまたはスペースを埋め込みました。 良い考えではありません。 – Hasturkun

7

に値する...

に動作します私は、コードの行をラップではないでしょう。私は1つの大きな長い文字列として残したいと思います。

80文字の規則は、当日の機械の制限に基づいていました。端末は通常80〜32文字です。安価なドットマトリックスプリンタ+大判用紙は80文字でした。豊かな人々だけが132文字の設定をする余裕がありました。そして、それを買う余裕がある人は、132文字でコードをラップして、ラップする必要がある行の数を大幅に減らし、よりクリーンなソースコードを生成します。

これらの制約は今日適用されません。私のテキストエディタは、新しい10pt宅配便の150列×52行を表示します。私の仕事モニターには、400 by 65(私はそれをテストしたことがない)のようなものが表示されます。私は何年ものうちに1行のソースコードを印刷していませんでした...そして、私が最後にしたのは、私のラップトップがフリッツに乗っていたときに家に帰る途中でバスを読むことができるようになったときでした。

現代の言語は多くはより古いスタイルの言語よりも冗長で...これは良いことです。 BeanContextServicesSupport.BCSSServiceProviderをPascalで呼び出すと、上司はコーナーに座るように指示していました。パスカル識別子は8文字までしか意味がありません!

なぜ、これは時代遅れで、(私にとっては)厄介な大会ですか?それは実用的な意味をほとんど持たない。

だから私は132文字で "コード行"をラップします。私は "テキスト行"をまったくラップするのは気にしません。

も参照してください:The width of two horses arses!

乾杯を。キース。

+12

80文字の制限は歴史的なルーツを持っていますが、人の目が短い行の追跡には優れているため、主に保持されます。 – bayer

+0

@bayerは正しいですが、単一の出力デバイス用のプレゼンテーションレイヤーを強制することは、出力デバイスがライン長を決定できるようにすることよりも難解です。 – mikemaccana

+0

ところで、 "2つの馬の尻"の物語は神話です(かなり面白いですが - 例えばhttps://www.snopes.com/history/american/gauge.aspを見てください;鉄道ゲージが大きく異なると考えてください(ボストンの地下鉄システムをチェックしてください)。 – TextGeek

関連する問題