标题真的说明了一切。我想将一个字符串传递给一个函数,并让该函数返回适当的整数。
即:
int function(char *encodedString) {
something here;
}
例如:
i = function("0x79");
print("printed output %x", i);
打印输出79
使用C标准函数strtol
它的out参数(第二个参数(将告诉您是否应该接受它的结果,或者直接取消对"n"
和"t"
等值的引用
#include <stdio.h>
#include <stdlib.h>
int function(char *encodedString) {
char* next;
int answer = strtol(encodedString, &next, 0);
answer = (next-encodedString)? answer : *encodedString;
return answer;
}
int main(void) {
int i = function("0x79");
printf("printed output 0x%02Xn", i);
i = function("n");
printf("printed output 0x%02Xn", i);
return 0;
}
IDEOne 上的代码
输出:
Success #stdin #stdout 0s 4364KB
printed output 0x79
printed output 0x0A