C++ 无法读取.txt并将其写入文本框

C++ 无法读取.txt并将其写入文本框,c++,forms,file,textbox,C++,Forms,File,Textbox,我正在尝试从.txt文件读取并将其写入列表框(windows窗体应用程序) 我想读的是double类型,我不知道为什么,但在数字上的点之后,它不再读取并将其传输到另一个变量! 而且,它写了两次东西,就像它在这个循环中做了两次,并且显示了相同的信息,而它不应该这样做 下面是我认为可能有错误的代码部分: char empresam[11]; int tipom; int codigom; double valorm;

我正在尝试从.txt文件读取并将其写入列表框(windows窗体应用程序) 我想读的是double类型,我不知道为什么,但在数字上的点之后,它不再读取并将其传输到另一个变量! 而且,它写了两次东西,就像它在这个循环中做了两次,并且显示了相同的信息,而它不应该这样做

下面是我认为可能有错误的代码部分:

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,但它仍然显示数据两次