如何在C中将char数组转换为int?

时间:2016-04-23 00:57:38

标签: c type-conversion

我正在处理一些以前编写过的代码。代码当前正在读取char数组缓冲区的输入,但我现在需要能够使用位屏蔽和移位来保留文件中特定的整数子集。我已经有了用于掩码和移位写入的代码,但我无法弄清楚如何将char数组转换为int。

char buffer[5];
FILE *fp = fopen(inputFile, "r"); 
while (fgets(buffer, 5, fp) != NULL) {

    //Perform bit masking/shifting operations

}

1 个答案:

答案 0 :(得分:0)

您可以使用标准函数strtol将字符串转换为整数:

char *end = NULL;
int n = strtol(buffer, &end, 10);
if (*end != '\0') {
    // buffer contains unconvertible characters
}
// do something with n