C言語で文字列の一部を取得する方法は何ですか?
C言語では、部分文字列を取得するには、次の方法を使用できます:
- 配列インデックスを使用すると、開始インデックスと終了インデックスを指定して文字列の一部を抽出することができます。たとえば、文字列strがあり、開始インデックスがstartで終了インデックスがendである場合、次のように部分文字列を取得できます。
char newStr[end - start + 1]; // 创建一个新的字符数组来存储子串
int j = 0;
for (int i = start; i <= end; i++) {
newStr[j++] = str[i];
}
newStr[j] = '\0'; // 添加字符串结束符
- コピーします
- 文字列の一部を新しい変数にコピーします。
- 文字列のコピー
char newStr[end - start + 1]; // 创建一个新的字符数组来存储子串
strncpy(newStr, str + start, end - start);
newStr[end - start] = '\0'; // 添加字符串结束符
上記の例では、入力される開始インデックスと終了インデックスが有効であり、文字列をオーバーフローすることはありません。実際のアプリケーションでは、具体的な要件に応じて境界チェックやエラー処理が必要です。