【发布时间】: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) 不同,所以我假设大多数学生已经知道如何使用。
-
感谢调解人的实际帮助,这就是我所需要的。