我有关于strcpy和strcat的问题。
在我试图制作的节目中,我需要从财政代码中获得一个人出生的那一年。财务代码以串行端口的char形式提供,
strcpy(temp, code[6]);
strcat(temp, code[7]);
yyyy = 1900 + (atoi(temp));
这就是我提出的:基本上今年的最后两位数字将被添加到1900年(我知道它与2000年出生的人不太一致)。 使用strcpy将第一个数字从完整代码复制到临时变量,然后我想添加第二个数字然后使用atoi并将eveything转换为整数;因为我以前所未有的方式使用strcat。我做得对吗?
答案 0 :(得分:5)
不需要strcpy
/ strcat
(并且无论如何它们都不适合)。也不需要临时字符串。你可以这样做:
yyyy = 1900 + (code[6] - '0') * 10 + (code[7] - '0');
这只是提取两位数字符,将每一个字符转换为0..9范围内的整数,然后根据这两个值计算年份。