所以我試圖將兩個字符串結合在一起,但我得到str是第二個while循環的最後一行的只讀值。他們是否可以在不更改函數頭的情況下做到這一點?通過從結構的字符指針遍歷
另外String是我創建的一個struct,它有一個名爲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 ++'中刪除'*'。你應該得到一個警告,說明「計算未使用的值」或類似的東西。 –