ホームページ >バックエンド開発 >C++ >C で複数行の文字列リテラルを作成するにはどうすればよいですか?

C で複数行の文字列リテラルを作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-16 07:28:16409ブラウズ

How Can I Create Multi-Line String Literals in C  ?

C の複数行の文字列リテラル

C では、複数行の文字列リテラルの定義は、Perl などの他の言語ほど簡単ではありません。ただし、これを実現するために使用できるテクニックがいくつかあります。

連結された文字列リテラル

1 つの方法は、C の隣接する文字列リテラルがコンパイラによって連結されるという事実を利用することです。文字列を複数行に分割すると、単一の複数行の文字列を作成できます。

const char *text =
  "This text is pretty long, but will be "
  "concatenated into just a single string. "
  "The disadvantage is that you have to quote "
  "each part, and newlines must be literal as "
  "usual.";

引用符の外側にあるため、インデントは重要ではないことに注意してください。

文字列エスケープされた改行を使用

もう 1 つの方法では、エスケープされた改行を含む文字列リテラルを使用します。文字列自体で改行文字を使用する代わりに、次のようにバックスラッシュ () を使用して改行文字をエスケープできます。

const char *text2 =
  "Here, on the other hand, I've gone crazy \\
and really let the literal span several lines, \\
without bothering with quoting each line's \\
content. This works, but you can't indent.";

改行をエスケープするには、各行の終わりの直前にバックスラッシュを置く必要があることに注意してください。この方法は機能しますが、インデントは保持されません。

以上がC で複数行の文字列リテラルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。