我試圖通過用新字符串(toInsert)替換(原始)字符串中的子字符串來插入字符串。 start參數是我想要替換的子串的起始位置。注意:這是一個更大的程序的一部分,但我只是想讓這個功能起作用。將字符串(逐字符)插入較大的字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROW 5
#define COLUMN 81
void insertString(char original[], int start, int length, char toInsert[]){
char buffer[COLUMN];
int i = 0;
for (i=0; i<strlen(original); ++i){
if (i>=start){
buffer[i] = toInsert[i];
}
else{
buffer[i] = original[i];
}
}
buffer[strlen(buffer)-1] = '\0';
printf("%s\n", buffer);
return;
}
int main()
{
char rep[COLUMN] = "very";
char sub[COLUMN] = "are";
char buf[ROW][COLUMN] = {
{"How are you doing"}
};
int len = strlen(sub);
int start = 4;
insertString(buf[0], start, len, rep);
return 0;
}
問題是它只打印「如何」。
我希望它打印出「你怎麼做的非常」
而且,我一直在使用strcpy的嘗試,但只是給錯誤/警告(是與指針,我不希望處理指針,因爲我還沒有了解它們。)
嗯,這是很難用字符串沒有處理指針。 ;-) –
啊哈我明白,但有沒有辦法解決這個問題,沒有他們? –
不,你已經在使用字符串了。但是,這並不重要。請解決您的問題,而不使用陣列數組。你不需要那個來描述你的問題。 http://stackoverflow.com/help/mcve –