您好,我是C語言新手。基本上我試圖傳遞一個char數組(字符串)的指針到一個函數,並在該函數內我想添加一個字符在該數組的最後。這裏是我試圖運行的代碼。如何在c/C++中作爲參數傳遞的函數內部處理char數組指針(字符串)
所以我說的功能是function1代碼。 指針線是我想要操作的一個。 我想通過使用方法append添加一個字符到函數1內部的行。 我也嘗試了其他幾種方法,但沒有一個真正起作用。
如果有人能告訴我如何正確地做到這一點,這將會非常有幫助。
#include <stdio.h>
#include <string.h>
char* function1(char*);
void append(char* , char);
int main(int argc, char const *argv[])
{
/* code */
function1("each line ends with : ");
return 0;
}
char* function1(char* line)
{
int pos = 0;
char* longest = "";
printf("so far working!\n");
append(line, '$');
// here during append something happens and all it tells is segmentation fault core dumped
printf("not anymore.\n");
return longest;
}
void append(char* s, char c)
{
s[strlen(s)] = c;
s[strlen(s)+1] = '\0';
}
非常感謝你,我現在解決了它 – shunya
很高興聽到它。當你第一次開始寫C時,指針和其他東西可能會讓你感到困惑 - 但值得讓你的大腦圍繞它。 – Floris