Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C/C++で長い文字列を複数行に分けて記述する方法

C言語やC++では、長い文字列リテラルを1行で書き続けるとコードが読みにくくなります。そんなときは、ダブルクォート(" ")で囲まれた文字列リテラルを複数並べることで、文字列の途中の任意の位置で改行し、複数行に分けて記述することができます。

コンパイラは、隣接して並べられた文字列リテラルを自動的に連結して1つの文字列として扱うため、実行時には改行なしの1つの長い文字列になります。

サンプルコード

以下は、この方法を示すC言語のサンプルプログラムです。

#include <stdio.h>
int main() {
    char *str = "This is the method "
                "to write long strings "
                "in multiple lines in C";
    puts(str);
    return 0;
}

実行結果

上記プログラムの実行結果は以下のとおりです。

This is the method to write long strings in multiple lines in C

プログラムの解説

それでは、プログラムの内容を詳しく見ていきましょう。

文字列 str は、ダブルクォートで囲まれた文字列リテラルを複数行にわたって並べることで、途中の任意の位置で改行して記述できます。各行末尾にはセミコロンを付けず、次の行の文字列リテラルを続けるだけです。コンパイル時にこれらのリテラルは自動的に連結されます。

その後、puts関数を使って連結された文字列を標準出力に表示しています。該当するコード部分は以下のとおりです。

char *str = "This is the method "
"to write long strings "
"in multiple lines in C";
puts(str);

補足:C++での書き方

C++でも同じ手法が使えますが、C++11以降では生文字列リテラル(R"(...)")を使う方法もあります。また、std::string を使えば、+ 演算子で文字列を連結しながら複数行に分けて記述することも可能です。状況に応じて読みやすい方法を選択するとよいでしょう。

  1. C++で複数の文字列を1行で連結する方法をわかりやすく解説

    C++では、複数の文字列(std::string)を1行のコードで簡単に連結できます。連結方法はいくつかありますが、最も基本であり簡単なのが加算演算子(+)を使う方法です。std::string型の文字列同士であれば、「+」を文字列の間に置くだけで、それらを結合した新しい文字列を生成できます。入力:複数の文字列 str1、str2、str3 出力:連結された文字列 str1str2str3アルゴリズムステップ1:連結したい複数の文字列を用意する ステップ2:文字列の間に「+」演算子を挟んで連結する ステップ3:連結結果の文字列を表示する ステップ4:終了サンプルコード以下のコードでは、3つの文

  2. Pythonでテキストファイルに複数行を書き込む方法をわかりやすく解説

    write関数を使って複数行を書き込む Pythonでは、write関数を使用し、各行を改行文字「\n」で区切ることで、テキストファイルに複数の行を書き込むことができます。 サンプルコード line1 = First line line2 = Second line line3 = Third line with open(my_file.txt,w) as out: out.write({}\n{}\n{}\n.format(line1,line2,line3)) この例では、formatメソッドを使って3つの文字列を1つにまとめ、それぞれの間に改行文字を挿入しています。末尾にも改行