【C言語】指定文字数ごとに改行する方法を解説

この記事では、C言語で指定文字数ごとに改行する方法を解説します。

目次から探す

方法1: ループを使った改行処理

ステップ1: 文字列の長さを取得する

指定された文字列の長さを取得するために、C言語の組み込み関数であるstrlen関数を使用します。

strlen関数は、文字列の長さを返す関数です。

ステップ2: 指定文字数ごとに改行する

取得した文字列の長さを元に、指定された文字数ごとに改行を行います。

これにはループを使用します。

ループの中で、指定文字数ごとに改行を行うための条件分岐を行います。

ステップ3: 改行後の文字列を表示する

改行処理が完了した文字列を表示するために、C言語の組み込み関数であるprintf関数を使用します。

printf関数は、指定された書式に従って文字列を出力する関数です。

完成したコード

#include <stdio.h>
#include <string.h>
void insertNewlines(char* str, int lineLength) {
    int length = strlen(str);
    int i;
    for (i = 0; i < length; i++) {
        printf("%c", str[i]);
        if ((i + 1) % lineLength == 0) {
            printf("\n");
        }
    }
}
int main() {
    char str[] = "This is a sample string.";
    int lineLength = 5;
    insertNewlines(str, lineLength);
    return 0;
}

方法2: 文字列を分割して改行する

ステップ1: 文字列を指定文字数ごとに分割する

指定された文字列を、指定文字数ごとに分割します。

これにはループを使用します。

ループの中で、指定文字数ごとに文字列を分割する処理を行います。

ステップ2: 分割した文字列を改行して結合する

分割した文字列を改行して結合するために、改行文字を挿入します。

改行文字は、C言語のエスケープシーケンスである\nを使用します。

ステップ3: 改行後の文字列を表示する

改行処理が完了した文字列を表示するために、C言語の組み込み関数であるprintf関数を使用します。

完成したコード

#include <stdio.h>
#include <string.h>
void insertNewlines(char* str, int lineLength) {
    int length = strlen(str);
    int i;
    for (i = 0; i < length; i += lineLength) {
        int j;
        for (j = 0; j < lineLength && i + j < length; j++) {
            printf("%c", str[i + j]);
        }
        printf("\n");
    }
}
int main() {
    char str[] = "This is a sample string.";
    int lineLength = 5;
    insertNewlines(str, lineLength);
    return 0;
}

方法3: ライブラリを使った改行処理

ステップ1: 必要なライブラリをインクルードする

改行処理に必要なライブラリであるstring.hをインクルードします。

string.hは、文字列操作に関する関数を提供するC言語の標準ライブラリです。

ステップ2: ライブラリを使って改行する

string.hライブラリに含まれるstrncpy関数を使用して、指定文字数ごとに文字列を分割します。

分割した文字列を改行文字で結合するために、改行文字を挿入します。

ステップ3: 改行後の文字列を表示する

改行処理が完了した文字列を表示するために、C言語の組み込み関数であるprintf関数を使用します。

完成したコード

#include <stdio.h>
#include <string.h>
void insertNewlines(char* str, int lineLength) {
    int length = strlen(str);
    int i;
    for (i = 0; i < length; i += lineLength) {
        char line[lineLength + 1];
        strncpy(line, str + i, lineLength);
        line[lineLength] = '\0';
        printf("%s\n", line);
    }
}
int main() {
    char str[] = "This is a sample string.";
    int lineLength = 5;
    insertNewlines(str, lineLength);
    return 0;
}

以上が、C言語で指定文字数ごとに改行する方法です。

これらの方法を使えば、任意の文字列を指定文字数ごとに改行することができます。

目次から探す