从单独的文本文件中获取数组值

时间:2014-03-26 02:14:56

标签: c++ arrays visual-studio-2012

这是我第一次尝试从单独的文本文档中获取一堆值。我有一个名为P.txt的单独文本文件,其中包含以下值13 49 16 2 4 0 90 60 40 20 60 -100 7 1 5 9 3 3 15-22 11 7 12 3
我从来没有尝试从外部文件中获取数据以放入数组,而在工作中我一直在第15行遇到错误:

read_data(int nums[], int size);

视觉工作室表示期待")"在int之后,read_data函数不接受0个参数。任何人都可以向我解释这些错误并帮助指导我朝着正确的方向前进吗?谢谢!

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

void read_data(int nums[], int size);

int main()
{
    const int size = 24;
    ifstream dataIn;
    double lab[size];

    cout << "The numbers on file are:\n "; 
    read_data(int nums[], int size);

    system("PAUSE");
    return 0;
}

void read_data(int nums[], int size)
{
    ifstream dataIn;
    dataIn.open("P.txt");

    if( dataIn.fail() )
            {
                    cout << "File does not exist." << endl;
                    exit(1);
            } 

    int count;
    for ( count = 0; count < size; count++ )
    {
            dataIn >> nums[count];
}

    dataIn.close(); }

1 个答案:

答案 0 :(得分:1)

问题在于行read_data(int nums[],int size);

您无法在函数调用中声明变量。

此外,如果没有system("pause")stdlib.h

,则无法使用cstdlib

请改用:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>

using namespace std;

void read_data(int nums[], int size);

int main()
{
    const int size = 24;
    ifstream dataIn;
    double lab[size];
    int nums[size];

    cout << "The numbers on file are:\n ";
    read_data(nums, size);

    system("PAUSE");
    return 0;
}

void read_data(int nums[], int size)
{
    ifstream dataIn;
    dataIn.open("P.txt");

    if( dataIn.fail() )
    {
            cout << "File does not exist." << endl;
            exit(1);
    }

    int count;
    for ( count = 0; count < size; count++ )
    {
            dataIn >> nums[count];
}

    dataIn.close(); }