いつもお世話になっています。プログC初心者です。文字列について質問させて頂きます。
[Wakamatsu]
0 Aizu
[Aizu][Wakamatsu]
11 young
[Aizu][Waka[young]matsu]
文字列のn文字目の後ろに、標準入力から入力した単語を挿入するプログラムを作成したいんです。でも[Aizu]の部分がうまくいかず[izu]と出てしまいます。どうすれば[Aizu]というように出力できますか?以下がコードです。
C言語
1コード 2```#include <stdio.h> 3#include <string.h> /* 文字列操作関数用ヘッダファイル */ 4#include<stdlib.h> 5#define MAX 1024 6int main() 7{ 8 char buf[MAX]="[Wakamatsu]"; 9 char str[MAX]; 10 char rbuf[MAX]; 11 int n,i,len; 12 printf("%s\n",buf); 13 while(1) 14 if( scanf("%d %s",&n,str)!=EOF){ 15 for(i=n+1;str[i]!='\0';i++){ 16 strcpy(rbuf,str); 17 } 18 len=strlen(rbuf); 19 // printf("lenは%d\n",len); 20 for(i=n+1;i<=len+n+2;i++){ 21 buf[i]=rbuf[i]; 22 // printf("bufは%s\n",buf); 23 24 } 25 26 27 28 // printf("rbufは%s\n",rbuf); 29 // len=strlen(rbuf); 30 // rbuf[len+2]=']'; 31 // } 32 printf("bufは%s\n",buf); 33 34 35 } 36 37 // printf("[%s]%s",kaki,buf); 38 39 return 0; 40}
プログラムコードは、```C言語 コード ```のコードの部分に書くようにします。つまり、```~```のブロックの中に書くということです。そうすると、見やすくなります。の
回答3件
あなたの回答
tips
プレビュー