C++ 无法读取.txt并将其写入文本框
我正在尝试从.txt文件读取并将其写入列表框(windows窗体应用程序) 我想读的是double类型,我不知道为什么,但在数字上的点之后,它不再读取并将其传输到另一个变量! 而且,它写了两次东西,就像它在这个循环中做了两次,并且显示了相同的信息,而它不应该这样做 下面是我认为可能有错误的代码部分:C++ 无法读取.txt并将其写入文本框,c++,forms,file,textbox,C++,Forms,File,Textbox,我正在尝试从.txt文件读取并将其写入列表框(windows窗体应用程序) 我想读的是double类型,我不知道为什么,但在数字上的点之后,它不再读取并将其传输到另一个变量! 而且,它写了两次东西,就像它在这个循环中做了两次,并且显示了相同的信息,而它不应该这样做 下面是我认为可能有错误的代码部分: char empresam[11]; int tipom; int codigom; double valorm;
char empresam[11];
int tipom;
int codigom;
double valorm;
int Data_lev[5];
int Data_arm[5];
CData DActual;
int Data_actual[3];
bool mercadoria=false;
int precom;
Data_actual[0]=DActual.Rano();
Data_actual[1]=DActual.Rmes();
Data_actual[2]=DActual.Rdia();
//leitura do ficheiro
facturacao.peek();
while(!facturacao.eof()){
facturacao.getline(empresam, 11);
empresam[10]='\0';
facturacao >> tipom >> codigom;
facturacao>>Data_lev[0]>>Data_lev[1]>>Data_lev[2]>>Data_lev[3]>>Data_lev[4];
facturacao>>Data_arm[0]>>Data_arm[1]>>Data_arm[2]>>Data_arm[3]>>Data_arm[4];
facturacao >> valorm;
facturacao >>precom;
cin.ignore();
facturacao.peek();
if(Data_lev[0]==Data_actual[0] && Data_lev[1]==Data_actual[1] && Data_lev[2]==Data_actual[2]){
mercadoria=true;
ffacturacaod->listBox1->BeginUpdate();
ffacturacaod->listBox1->Items->Add ("Código de empresa");
//converter char* para string ^
String^ strempresa = gcnew String(empresam);
ffacturacaod->listBox1->Items->Add(strempresa);
ffacturacaod->listBox1->Items->Add("Códido de armazenamento");
ffacturacaod->listBox1->Items->Add(codigom);
ffacturacaod->listBox1->Items->Add("Mercadoria do tipo");
switch(tipom){
case 1: {ffacturacaod->listBox1->Items->Add("Contentor 12 x 2,3 m");break;};
case 2: {ffacturacaod->listBox1->Items->Add("Contentor 6 x 2,3 m");break;};
case 3: {ffacturacaod->listBox1->Items->Add("Palete 120 x 80 cm");break;};
case 4: {ffacturacaod->listBox1->Items->Add("Palete 60 x 80 cm");break;};
}
ffacturacaod->listBox1->Items->Add("Valor declarado");
ffacturacaod->listBox1->Items->Add(valorm);
ffacturacaod->listBox1->Items->Add( "Armazenado na data");
ffacturacaod->listBox1->Items->Add ("Data");
ffacturacaod->listBox1->Items->Add("Valor pago");
ffacturacaod->listBox1->Items->Add(precom);
ffacturacaod->listBox1->EndUpdate();
}
facturacao.close();
您的代码格式很难阅读-如果您使用的是visual studio,请按ctrl+a选择“全部”,然后按住control键,按K键,然后按F键并释放control。命令为ctrl+KF。这将为您自动格式化。您的代码看起来像C++/CLI或C++/CX。你能确认你使用的是哪种语言和平台吗?现在更容易了吗@ChristianStewart@Dai我必须使用C++,并且我必须生成一个VC++项目。我不确定你问的是什么。我刚开始编程,我已经找到了为什么它没有读取完整的数字。int precom应该是double precom,但它仍然显示数据两次