我收到一个长度为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