我收到一個長度爲10的char *緩衝區。 但是我想要將我的結構中包含變量char *的整個內容連接起來。如何在C中連接兩個char *?
typedef struct{
char *buffer;
//..
}file_entry;
file_entry real[128];
int fs_write(char *buffer, int size, int file) {
//every time this function is called buffer have 10 of lenght only
// I want to concat the whole text in my char* in my struct
}
事情是這樣的:
real[i].buffer += buffer;
我怎樣才能做到這在C?
始終使用'strncat'(也包含在上面的鏈接中)而不是'strcat'。 – pickypg 2012-03-17 02:59:11
總是?這似乎有點嚴重。 「小心」總是很好的建議,但我會同意這一點。以下是關於何時使用每個問題的一個問題和一些答案:http://stackoverflow.com/questions/6491038/strcat-vs-strncat-when-should-which-function-be-used – 2012-03-17 03:00:16
如果你不知道你爲什麼使用'strcat',這是因爲兩個緩衝區都在預定的保證下,所以你應該總是使用'strncat'。從C開始的人總是比'strcat'更好地使用'strncat',因爲風險不值得那麼不值得注意。考慮到實際的好處,我甚至會爭辯說,除非你寫的東西低得令人難以置信,而且先決條件已經完成,否則你永遠不會從中受益。 – pickypg 2012-03-17 15:57:32