【发布时间】:2021-10-12 15:06:51
【问题描述】:
我需要在文件“.txt”上打印一些信息。
我在程序上写了我要复制信息的文件的链接。 “.txt”文件为空。
Eclipse 告诉我代码没有错误。这是文件打印的代码部分:
void stampaVendute(string& vendute,int& n,Opere f[],char p[],int a){
cout<<"\nInserisci il file sul quale vuoi visualizzare le opere vendute: "<<endl;
getline(cin,vendute);
ofstream ofs;
ofs.open(vendute.c_str());
if(!ofs.good()){
cout<<"C'è qualche problema nell'apertura del file"<<endl;
return;
}
for(int i=0;i<n;i++){
if((!stricmp(p,f[i].N_C)) and a<=f[i].anno){
ofs<<"\nOPERA "<<(i+1)<<endl;
ofs<<"Codice: "<<f[i].codice<<";"<<endl;
ofs<<"Titolo: "<<f[i].titolo<<";"<<endl;
ofs<<"Autore: "<<f[i].N_C<<";"<<endl;
ofs<<"Anno: "<<f[i].anno<<";"<<endl;
ofs<<"Valore: "<<f[i].prezzo<<";"<<endl;
}
ofs.close();
}
cout<<"\nI DATI SONO STATI COPIATI CORRETTAMENTE SUL FILE!"<<endl;
}
【问题讨论】:
-
您输入的是完整路径还是相对路径?另外,
ofstream的open可以接收std::string,所以不知道你为什么在那里使用.c_str()。 -
不,这不足以知道出了什么问题。例如,
n是什么?当它是0时,不会有任何写入文件的内容。请阅读minimal reproducible example -
您是否尝试过调试程序?
-
尼特,没有理由在这里引用 n
标签: c++ arrays filestream