C 将单个字符从一个数组追加到另一个数组
这是C杀了我的一个晚上。如何一次读取一个数组中的一个字符,并将该字符附加到另一个数组的末尾C 将单个字符从一个数组追加到另一个数组,c,C,这是C杀了我的一个晚上。如何一次读取一个数组中的一个字符,并将该字符附加到另一个数组的末尾 bzero(message, BUFFSIZE); // 1024 bytes strcpy(message, "your_file|"); for (j=0; j<bytes_read; ++j) { fprintf(stdout, "%c", buffer[j]);
bzero(message, BUFFSIZE); // 1024 bytes
strcpy(message, "your_file|");
for (j=0; j<bytes_read; ++j) {
fprintf(stdout, "%c", buffer[j]);
strcat(message, buffer[j]); //<--THIS FAILS!!! WHY!!!!
}
fprintf(stdout, "%s\n", message);
bzero(消息,BUFFSIZE);//1024字节
strcpy(消息,“您的|文件|”);
for(j=0;j期望第二个参数是const char*
(C字符串),而您给它一个char
您可以将char
转换为C字符串,即创建一个数组
char append[] = { buffer[j], '\0' }`
或每次追加一个字符,最后追加空字节:
bzero(message, BUFFSIZE); // 1024 bytes
strcpy(message, "your_file|");
size_t len = strlen(message);
for (j=0; j<bytes_read; ++j) {
fprintf(stdout, "%c", buffer[j]);
message[len++] = buffer[j];
}
message[len] = '\0';
fprintf(stdout, "%s\n", message);
bzero(消息,BUFFSIZE);//1024字节
strcpy(消息,“您的|文件|”);
尺寸长度=strlen(信息);
for(j=0;一次使用一个字符很容易。for(i=0;i
之前试过,或者我是这么想的。现在可以了。这不是我的夜晚……谢谢!好吧,strcat
将两个以null结尾的字符串作为参数,并将一个附加到另一个。如果我正确地假设buffer
是char*
或char[]
,那么buffer[j]
是一个字符
,不是字符串,因此不能用作strcat
的参数。相关: