ここで達成しようとしているのは、cString を取得し、特定の文字を strchr() 関数を使用して見つけた別の場所に置き換えることです。
私が理解できないのは、私のすべての試み(以下にコメントアウト)で文字を置き換える方法はすべて、編集されていない文字列を生成するか、プログラムをクラッシュさせる方法です。文字を置き換えることで正しい方向に進んでいると思います(char * cの開始アドレスを取得し、n(置き換えたい文字の前方のバイト数)を追加してから、その新しいアドレスに書き込みます)。私はそれを正しく機能させることができないようです。
どんな助けでも大歓迎です。
int main()
{
char *c, *sch;
int n;
c = "this is a test\n";
sch = strchr(c, 'a');
if(sch != NULL)
{
n = sch-c+1;
printf("%d\n", (int)sch);
printf("%d\n\n", (int)c);
printf("'a' found at: %d", n);
}
/////////////////////
//sch = &c;
//*(sch + n) = 'z';
/////////////////////
//*(c + n) = 'z';
/////////////////////
//c[n] = 'z';
/////////////////////
printf("\n\n%s", c);
getchar();
return 0;
}