字符串输入到int数组 - C.

时间:2015-10-11 17:59:58

标签: c arrays hex

我试图编写一个程序,将浮点数转换为IEEE 754单表示形式,反之亦然。我一直坚持如何接受输入,其形式为" 0xABCD123"或" 2.83234e-2" (十六进制表示总是以" 0x"开头),并将每个元素放入一个char数组中。

例如,输入" 0xABCD123"将在一个大小为10的字符数组中。我将删除" 0"和" x"元素,然后单独遍历每个元素并使用for循环从那里转换为浮点。

我认为从命令行获取参数很简单。参数存储在argv[1]中,然后我将其保存到名为input的初始化字符串变量中。问题在于input并将每个元素放入一个字符数组中。第二个问题是如果输入不是IEEE格式,则确定阵列的长度。我还没有找到一个确定字符串长度的函数(删除小数点并考虑' e')。

另外,有几个问题:C会自动识别" e-2"输入的一部分并将其转换为实际数字?我可以使用一些命令来做到这一点吗?

如何在这里输入类型?如果输入是" 2.83234e3",我想将小数点左边的部分保存为int(因为这样更容易翻译),然后左边作为int也是如此,我如何通过类型转换分割数字?它会是input = (int)left;吗?

0 个答案:

没有答案