class 中的函数不带变量。但是 reads/prints 一个数组
Function in a class that doesn't take a variable. but reads/prints an array
nkgktgkrgktrgrgtjgiortjgiorjitrgoit
你可能做错了很多事情。
1) 文件 numbers.txt
不存在,此代码无法检查文件是否已成功打开。
2) 文件numbers.txt
存在,但不包含十个以空格分隔的整数,此代码无法检查operator>>
是否成功。
3) 此代码还将十个数字打印到 std::cout
,没有任何分隔符。充其量,您将获得的输出看起来是一个大数字。
所以,这里至少有两三处是错误的。您需要修复所有这些问题:
A) 验证文件是否已成功打开。
B) 每次 operator>>
调用后,检查文件流是否为 good()
。
如果您不确定该文件是否存在,或者它是否与您的可执行文件位于同一目录中,请将您的代码修改为 check if the file opened,例如:
void readFile() {
ifstream read("numbersd.txt");
if(!read) { cerr << "File didn't open..Does it exist?" << endl; return; }
...
然后,如果它没有打开,可能会发生以下情况:
- 文件不存在。
- 文件不在您认为的路径中。
- 您无权访问该文件。
问题出在文件中,因为代码工作正常,因为 文件 numbers.txt 存在(并且它与您的可执行文件位于同一目录中)例如我使用了那个:
1
2
3
4
5
6
7
8
9
10
结果是:
C02QT2UBFVH6-lm:~ gsamaras$ g++ main.cpp
C02QT2UBFVH6-lm:~ gsamaras$ ./a.out
1 2 3 4 5 6 7 8 9 10
这是我使用的代码:
#include <iostream>
#include <fstream>
using namespace std;
class myClass {
public:
void readFile() {
ifstream read("numbers.txt");
for(int i=0;i<10;i++)
read>>sPerDay[i];
for (int i = 0;i<10;i++) {
cout << sPerDay[i] << " ";
}
cout << "\n";
}
private:
int sPerDay[10];
};
int main() {
myClass obj;
obj.readFile();
return 0;
}
nkgktgkrgktrgrgtjgiortjgiorjitrgoit
你可能做错了很多事情。
1) 文件 numbers.txt
不存在,此代码无法检查文件是否已成功打开。
2) 文件numbers.txt
存在,但不包含十个以空格分隔的整数,此代码无法检查operator>>
是否成功。
3) 此代码还将十个数字打印到 std::cout
,没有任何分隔符。充其量,您将获得的输出看起来是一个大数字。
所以,这里至少有两三处是错误的。您需要修复所有这些问题:
A) 验证文件是否已成功打开。
B) 每次 operator>>
调用后,检查文件流是否为 good()
。
如果您不确定该文件是否存在,或者它是否与您的可执行文件位于同一目录中,请将您的代码修改为 check if the file opened,例如:
void readFile() {
ifstream read("numbersd.txt");
if(!read) { cerr << "File didn't open..Does it exist?" << endl; return; }
...
然后,如果它没有打开,可能会发生以下情况:
- 文件不存在。
- 文件不在您认为的路径中。
- 您无权访问该文件。
问题出在文件中,因为代码工作正常,因为 文件 numbers.txt 存在(并且它与您的可执行文件位于同一目录中)例如我使用了那个:
1
2
3
4
5
6
7
8
9
10
结果是:
C02QT2UBFVH6-lm:~ gsamaras$ g++ main.cpp
C02QT2UBFVH6-lm:~ gsamaras$ ./a.out
1 2 3 4 5 6 7 8 9 10
这是我使用的代码:
#include <iostream>
#include <fstream>
using namespace std;
class myClass {
public:
void readFile() {
ifstream read("numbers.txt");
for(int i=0;i<10;i++)
read>>sPerDay[i];
for (int i = 0;i<10;i++) {
cout << sPerDay[i] << " ";
}
cout << "\n";
}
private:
int sPerDay[10];
};
int main() {
myClass obj;
obj.readFile();
return 0;
}