【问题标题】:Converting an "ASCII decimal" to an integer in C在 C 中将“ASCII 十进制”转换为整数
【发布时间】:2012-10-12 22:58:29
【问题描述】:

我正在尝试将“ASCII 十进制”转换为整数。 “ASCII 十进制”最多可以有 10 位数字,如果没有更多数字,则用空格填充(即36________,其中“_”实际上是空格)。我对 C 真的很陌生(我上周才开始学习),我完全不知道该怎么做。

例如:

int main(int argc, char *argv[])
{
    int fda = open(argv[2], O_RDONLY);
    char arSize[10];
    read(fd, arSize, 10);
    //convert arSize to an int and store in i
    lseek(archive, i, SEEK_CUR);
}

【问题讨论】:

  • 你尝试了什么?为什么失败了?请向我们展示您的第一次尝试,即使不成功 - 这将帮助我们指导您找到解决方案,并让您在此过程中学习。如果您在使用 c 时遇到问题 - 尝试用文字/伪代码描述您认为它是如何完成的,我们将能够帮助您将其翻译成 C。您还应该提及它是否是家庭作业 - 您可能会获得更多解释性答案(而不是简单的库函数调用,如果是这样的话)
  • 你可以使用atoi。除非您想要自己的功能,否则您可以通过快速 google 搜索找到 1000 个示例(通常来自面试问题)
  • ...我没有尝试过任何东西,因为我不懂 C 并且不知道从哪里开始。我已经尝试在整个互联网上进行搜索,但一无所获。此外,我确实在评论中向您展示了我试图用伪代码做什么,我只是不知道从那里去哪里。我还想提一下,这是家庭作业的一部分,但作业不是关于转换为 int,而是关于使用系统调用。我刚转学到一所新学校,使用的语言 (C) 与我以前的学校 (Java) 不同,所以我假设大多数学生已经知道如何使用。
  • 感谢调解人的实际帮助,这就是我所需要的。

标签: c integer ascii


【解决方案1】:

您可以使用atoisscanf

由于您似乎在打开文件,您可能还会发现fscanf 很有帮助。

【讨论】:

    猜你喜欢
    • 2016-06-27
    • 2021-03-04
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    相关资源
    最近更新 更多