c++逗号分隔符文本读取

    xiaoxiao2022-06-30  64

    #include <fstream> #include <iostream> #include <cstring> using namespace std;

    char** ppInstrumentID; //char *pInstrumentID; void infile(char* inname);

    int main() {

       infile("./config.cnf");             return 0; }

     void  infile(char* inname) { string buffer; char str[10]; char str2[10]; int num=0; int num2=0; ifstream in (inname);         if (!in.is_open())         {                cout << "Error opening file" ;          }  else{   while (in.good())   {  //buffer2=buffer2+buffer;   in.getline(str,8,',');   num++;   //cout<<num<<endl;  // cout<<str<<endl;   }  }  in.clear();  streambuf* pbuf = in.rdbuf();  pbuf->pubseekpos(0);  //in.close(); cout<<"the instrument total is:"<<num<<endl;

    ppInstrumentID =new char*[num]; int i=0; while(i<num) {   ppInstrumentID[i]=new char[9];   i++; }

    if(in.is_open()) { while(in.good())  {  in.getline(str,8,',');  ppInstrumentID[num2]=str;    cout<<"this is" <<num2<<endl;  //cout<<"str is:"<<str<<endl;  cout<<"ppInstrumentID is:"<<ppInstrumentID[num2]<<endl;  num2++;  } } in.close();

    return ; } //思路

    1 getline逗号分隔取得总的合约数目,注意二次读取前 进行标记重置。否则出错,无法二次读取,即使关闭重新打开也不行。

    2 二维指针的使用,char**   动态空间分配,char* 的循环空间分配。次代码不包含 空间释放。

     

    转载请注明原文地址: https://ju.6miu.com/read-1126098.html

    最新回复(0)