【发布时间】:2017-12-27 04:11:48
【问题描述】:
我的程序主要部分有问题。我正在尝试使用 argc 来实现 main 中的参数,argv 将作为输入 txt 文件接收。此外,当我尝试读取文件时,我收到一个错误,例如:变量 i 被使用而没有被初始化,我必须单击中止。
代码的主要部分是这个:
void main(int argc, char* argv[])
{
cout <<"<---------------FAZA 2--------------->" <<endl;
cout << " Numar de argumente ale functiei main:" << argc << endl;
for (int i = 0; i < argc; i++)
{
if (argv[i] = "Angajat.txt")
{
Fisiere_Intrare f1;
f1.Fisiere_Angajati();
break;
}
else
cout << " O.K." << endl;
}
Fisiere Intrare 是这样写的一个类:
class Fisiere_Intrare
{
public:
void Fisiere_Angajati()
{
ifstream fis;
fis.open("Angajat.txt", ifstream::in);
if (fis.is_open())
{
while (!fis.eof())
{
Angajat a;
fis >> a;
cout << a;
}
}
fis.close();
}
};
“Angajat”也是一个具有以下属性的类:name、salary、work_age。
【问题讨论】:
-
C++ 不能靠猜测来学习。请查看此C++ books 列表和cppreference.com 参考。
-
if (argv[i] = "Angajat.txt") 不是你的意思。 = 是赋值。 == 是比较。
-
argv[i] = "Angajat.txt"在多个方面都是错误的。即使您使用了正确的运算符==,它也是错误的,因为您不会比较字符串。相反,您将比较指针。 -
while (!fis.eof())stackoverflow.com/questions/5605125/… -
顺便说一句,
main函数返回一个int。总是。