#include #include #define countof(arr) (sizeof(arr) / sizeof((arr)[0])) void insertString(char* original, const char* insertion, size_t position) { // 文字列の長さを取得 size_t originalLength = strlen(original); size_t insertionLength = strlen(insertion); // 新しい文字列のためにメモリを確保 char newString[50]; // 適切なサイズを指定するか、動的メモリ割り当てを使用する // 最初の部分をコピー strncpy_s(newString, countof(newString), original, position); newString[position] = '\0'; // 挿入文字列を追加 strcat_s(newString, countof(newString), insertion); // 残りの部分を追加 strcat_s(newString, countof(newString), original + position); // 元の文字列を新しい文字列で更新 strcpy_s(original, countof(newString), newString); } int main() { // テスト用の文字列 char str[50] = "Hello, world!"; // 挿入する文字列 const char* insertion = " beautiful"; // 挿入位置 size_t position = 6; // 文字列の挿入 insertString(str, insertion, position); // 結果の表示 printf("Result: %s\n", str); return 0; }