我的程序主要部分有问题。我试图在argc,argv中实现主要参数,它将接收txt文件作为输入。此外,当我尝试读取文件时,我收到如下错误:变量i未经初始化使用,我必须单击“中止”。
代码的主要部分是这一部分:
In[33]: import pandas as pd
In[34]: df1 = pd.DataFrame([1,2,3,4,5])
In[35]: id(df1)
Out[35]: 4541269200
In[36]: df2 = df1
In[37]: id(df2)
Out[37]: 4541269200 # Same id as df1
In[38]: df3 = df1.copy()
In[39]: id(df3)
Out[39]: 4541269584 # New object, new id.
In[40]: df4 = df1.copy(deep=False)
In[41]: id(df4)
Out[41]: 4541269072 # New object, new id.
In[42]: df1 = pd.DataFrame([9, 9, 9])
In[43]: id(df1)
Out[43]: 4541271120 # New object created and bound to name 'df1'.
Fisiere Intrare是一个类似的课程:
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;
}
“Angajat”也是一个具有以下属性的类:name,salary,work_age。
答案 0 :(得分:2)
您的代码中存在几个问题:
if (argv[i] = "Angajat.txt")
正如KeithSmith指出“=”是赋值运算符,为了进行比较,需要“==”运算符。 另外,在C / C ++中无法轻易比较C-Strings。当您使用c ++标记问题时,可以将参数转换为std :: string对象并将其与文件名进行比较:
if (std::string(argv[i]) == "Angajat.txt")
但是,您提到的错误消息表明可能在某处隐藏了另一个问题。
答案 1 :(得分:-2)
argv []是const char *,我是未确定的,编译器无法弄清楚。