需要帮助读取带有整数的文件到数组中

时间:2011-12-09 13:51:44

标签: c++ file text input

以下代码未从文件中读取正确的字符。知道什么是错的吗?

    ifstream inFile;
    inFile.open("chars.txt");

    char ch; //dummy variable
    char first, last;
    int first1, last1;

    for(int i=0;i<SIZE;i++)
    {
        for(int j=0;j<5;j++){
        inFile.get(first);
        inFile.get(last);

此时第一个和最后一个不是文件中的正确字符。 (在第一次循环中)它可能很简单,但我真的很擅长这个。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您不需要像这样手动解析数字。 我建议使用提取运算符get,而不是使用>>函数,如下例所示:

#include <vector>
#include <fstream>
#include <iostream>

int main()
{
  std::vector<int> values;
  std::ifstream inFile("chars.txt");
  int temp;

  // Read the values in one at a time:
  while (inFile >> temp)
  {
    values.push_back(temp);
  }

  // Demonstrate that we got them all by printing them back out:
  for (unsigned int i = 0; i < values.size(); ++i)
  {
    std::cout << "[" << i << "]: " << values[i] << std::endl;
  }
}

答案 1 :(得分:0)

我不确定这是否适用于C ++,但我在C#中遇到了这个问题。

我必须在正在阅读的角色上使用Char.GetNumericValue();

C#中的示例代码:

int myInt;
char myChar = '5';

myInt = Char.GetNumericValue(myChar);
Console.WriteLine("My character as int: "+myInt.ToString());