我试图从
char
数组中提取最后两个字符,但无法这样做。该数组将提供给我,但我无法控制它。我只知道数组的最后 n
位置是数字。在以下情况n=2
:
char c[5] = "xyz45"
char d[2];
d[0] = c[3];
d[1] = c[4];
int e = atoi(d);
显然所需的输出是
45
。有办法解决这个问题吗? (上面的方法是如何在 python 中执行此操作的代表性方法。我正在寻找一种优雅的方法来执行此操作。)
这将按照您的要求进行。编译和测试的代码 - 请注意添加/编辑:
#include <stdio.h>
#include <stdlib.h> /* atoi() */
int main()
{
char c[6] = "12345"; /* Size 6 -- provide room for terminating NUL*/
char d[3]; /* Size 3 -- again, provide room for terminating NUL*/
d[0] = c[3];
d[1] = c[4];
d[2] = '\0'; /* Add a teminating NUL (strings need this)*/
printf("%d\n", atoi(d)); /* Output: "45" */
return 0;
}