この記事では、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
をインクルードします。
ステップ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言語で指定文字数ごとに改行する方法です。
これらの方法を使えば、任意の文字列を指定文字数ごとに改行することができます。