【问题标题】:How do I convert a char array to an int in C?如何在 C 中将 char 数组转换为 int?
【发布时间】:2016-04-23 00:57:37
【问题描述】:

我正在编写一些以前编写的代码。该代码当前正在读取 char 数组缓冲区的输入,但我现在需要能够使用位掩码和移位来保留文件中的特定整数子集。我已经编写了位掩码和移位的代码,但我不知道如何将 char 数组转换为 int。

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

    //Perform bit masking/shifting operations

}

【问题讨论】:

  • buffer 中的多个 chars 混合在一起形成一个 int?
  • ...或者你需要字符串 -> int 吗?
  • @user1320881 啊,是的,这可能更有可能

标签: c type-conversion


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 2016-12-08
    • 2021-10-15
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多