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]);

这是C杀了我的一个晚上。如何一次读取一个数组中的一个字符,并将该字符附加到另一个数组的末尾

            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
的参数。相关: