【发布时间】:2017-05-23 14:01:30
【问题描述】:
有人知道如何复制到字符串吗?因为我使用了函数 strcpy 但是当我打印结果时它显示奇怪的字符。我想连接“姓名”+“@”+“电子邮件”。使用 scanf 我必须将字符 null '\0'?
#include <stdio.h>
#include <string.h>
int main (){
char message[150];
char name[150];
char mail[150];
char result[150];
printf("Introduce name: \n");
scanf("%s",message);
printf("Introduce email \n");
scanf("%s",server);
strcpy(result,message);
result[strlen(result)]='@';
strcpy(&result[strlen(result)],server);
printf("RESULT: %s\n",result);
return 0;
}
【问题讨论】:
-
result[strlen(result)]='@';将删除字符串的 0 终止符。你试过strcat吗? -
这也取决于
server是什么以及是否溢出缓冲区result。 -
snprintf(result, sizeof result, "%s@%s", message, server);,还有char mail[150];-->char server[150];