【发布时间】:2015-09-26 01:40:58
【问题描述】:
我正在从文件中读取数据,并且正在使用提取运算符来获取第一个值。问题是我需要知道该值是 int 还是 string,以便将其放入适当的变量中。
所以我的问题是我可以尝试将它放入一个 int 中,如果它失败了,它会将它放入一个字符串中吗?还是事先检查它是 int 还是 string?
如果需要,我可以提供代码/伪代码。
文件示例:
3 rows 3 columns all @ go
5 columns 6 rows go
5 rows triangular go
alphabetical 3 rows 3 columns go
all ! 4 rows 4 columns outer go
alphabetical triangular outer 5 rows go
【问题讨论】:
-
“第一个值”是什么意思?例如,如果文件读取“foo.123”,“foo.123”是第一个值吗?或者是“foo”。第一个和“123”第二个?要不然是啥?您需要以足够的精度指定您想要的东西,否则您可以获得的唯一有用的答案是“完全实现您想要的任何东西”。
-
第一个是 foo 然后是 123 像这样:edd 123 fed 1 dwd。我想看看哪个是字符串,哪个是整数。
-
所以您想读取一系列由空格分隔的字符串,看看其中哪些仅由数字组成?
-
我添加了一个文件可能是什么样子的示例。我通过文件提取运算符 inFile >> x; 读取它。所以它应该首先从那个文件中获取 2 我需要检查 3 是否是一个 int 然后移动到下一个,看看那是否是一个 int。这样我就可以正确地将它们放在适当的变量中。
标签: c++