我是C的新手。我有一个结构员工,如下所示: -
struct employee
{
char eid[100];
char name[100];
};
我想将此eid值指定为" EMP_1"," EMP_2"等等。每当任何员工输入其名称时,其id应该动态生成,例如" EMP_1"对于第一个员工和" EMP_2"为第二名员工。但我无法理解如何向char添加整数值。 我试过这样的
struct employee e;
char emp[20]="EMP_";
char id=(char)i; //Here i will be representing the number of employee like 1st or 2nd.
strcat(emp,id);
e.id=emp;
但它不起作用。任何其他建议如何分配" EMP_1" " EMP_2"等值为struct的id。
答案 0 :(得分:3)
使用snprintf()
。
snprintf(emp.eid, sizeof emp.eid, "%s%d", "EMP_", id);
答案 1 :(得分:1)
当您定义字符串eid
非常大时,我认为使用sprintf
就足够了。
struct employee e;
int id=1; //Here i will be representing the number of employee like 1st or 2nd.
sprintf(e.eid,"EMP_%d",id);