将int转换为char数组(“string”)

时间:2014-04-27 10:58:37

标签: c arrays string struct int

我是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。

2 个答案:

答案 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);