2つの文字列を結合しようとしていますが、strが2番目のwhileループの最後の行にある読み取り専用の値です。関数のヘッダを変更せずに誰でも私がこれを行うことができますか?構造体からのcharポインタを反復する
また、Stringはstrという* charを持つ構造体です。
String * String_Combine(String * tar, const String * src) {
//end of string
while (* tar->str != '\0') {
tar->str++;
}
//int i = 0;
//copy string
while (*source->str != '\0') {
*tar->str = *src->str;
*tar->str++;
*src->str++;
// i++;
}
return tar;
}
'source'は何ですか? – MikeCAT
このコードには問題がありますが、私はそれを完全に取り除き、最初から書き直すことをお勧めします。 – Hurkyl
'tar-> str ++'と 'src-> str ++'から '*'を削除します。あなたは '計算された値が使われていないか'それとも同様のものについての警告を受け取るべきです。 –