【发布时间】:2013-07-31 12:51:00
【问题描述】:
我想将文本文件中的数字读取到数组中。数字在一行中。
如果我使用
x.Read(),我会得到第一个字符的ASCII码,如果我使用
x.Readline(),我会得到一行,而不是一个一个的数字。
我想使用循环来一一获取数字。
【问题讨论】:
-
阅读该行并解析该行以提取您需要的部分并不罕见。这通常使您可以从格式错误的输入数据中提供更好的诊断和恢复。不过,这一切都取决于您使用的语言。
我想将文本文件中的数字读取到数组中。数字在一行中。
如果我使用x.Read(),我会得到第一个字符的ASCII码,
如果我使用x.Readline(),我会得到一行,而不是一个一个的数字。
我想使用循环来一一获取数字。
【问题讨论】:
很简单,当你得到 ASCII 码后,你可以很容易地将它转换成你想要的数字,
假设您从文件中读取了一个字符 (char),它的 '0'、'1'、'2'、... 或 '9' 并且您想要 int 值,您只需将 char 转换为int 并减去 '0' 的整数值,即 48。像这样:
char ch = x.Read();
int chIntValue = ((int)ch) - 48;
但几乎所有现代编程语言在它们提供的io 库中都有ReadInt、GetInteger 方法或类似的东西。
【讨论】:
result,你应该用0初始化它,对于你想添加的每个charIntValue,代码看起来像result = result * 10 + charIntValue