精华内容
下载资源
问答
  • 有一个txt里面存有不同列数的数,比如 1 2 3 4 5 6 1 3 34 4 98 13 21 213 234 45 1 2 3 4 5 ...我想跳过1、2、7行直接读取每行有五个数的行,然后存在一个二维数组里,这该如何实现,求大家帮忙
  • 1、将数组包保存到磁盘文件: private static void intDataToFileOut(int[][] sparseArray, File file) { FileWriter out = null; try { out = new FileWriter(file); //二维数组按行存入到文件 for ...

    1、将数组包保存到磁盘文件中:

     private static void intDataToFileOut(int[][] sparseArray, File file) {
                FileWriter out = null;
                try {
                    out = new FileWriter(file);
                    //二维数组按行存入到文件中
                    for (int i = 0; i < sparseArray.length; i++) {
                        for (int j = 0; j < sparseArray.length; j++) {
                            //将每个元素转换为字符串
                            String content = String.valueOf(sparseArray[i][j]) + "";
                            out.write(content + "\t");
                        }
                        out.write("\r\n");
                    }
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

    上述代码中将二维数组sparseArray通过循环遍历写入到文件中。

    2、从文件中读取数组:
      private static int[][] getSparseArrayFromFile(){
                //将稀疏矩阵从文件中读取出来
                BufferedReader bufferedReader = null;
                //为保存的数组分配空间
                int[][] datas = new int[11][11];;
                try {
    
                    InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(new File("F:\\data.txt")));
                    bufferedReader = new BufferedReader(inputStreamReader);
                    String line = null;
                    int i=0;
                    //按行读取
                    while((line = bufferedReader.readLine() )!= null){
                        if(null != line){
                            //将按行读取的字符串按空格分割,得到一个string数组
                            String[] strings = line.split("\\t");
                            //依次转换为int类型存入到分配好空间的数组中
                            for(int k = 0;k<strings.length;k++){
                                datas[i][k] = Integer.valueOf(strings[k]);
                            }
                            //行数加1
                            i++;
                        }
                    }
    
                } catch (Exception e) {
                    e.printStackTrace();
                }
                //返回读取的二维数组
                return datas;    
        }

    3、通过测试代码检验是否正确:

    public static void main(String[] args) {
            //1、先定义一个二维数组
            int[][] chessArray;
            chessArray = new int[11][11];
            chessArray[1][2] = 1;
            chessArray[2][3] = 2;
            //2、将二维数组存入文件中
            File file = new File("F:\\data.txt");
            try {
                SparseArray.intDataToFileOut(sparseArray, file);
            } catch (Exception e) {
                e.printStackTrace();
            }
            //3、从文件中读取数组
            int[][] datas = getSparseArrayFromFile();
            for (int[] row : datas) {
                for (int item : row) {
                    System.out.printf("%d\t", item);
                }
                System.out.println();
          }
    }

    在F盘下找到该文件打开:

    读取数组后在控制台显示结果:

    展开全文
  • 详见工程CIPW   代码一、定义 #include <vector><br />using namespace std; // 定义元素的结构 [11/17/2009 Owner] typedef ...  // 文件中读取的数据放入数祖中[11/17/2009

    详见工程CIPW

     

    代码一、定义

    #include <vector>
    using namespace std;
    // 定义元素的结构 [11/17/2009 Owner]
    typedef struct tagMineEleInfo
    {
     CString EleName;
     double  EleValue;
    }MineEle;

     // 从文件中读取的数据放入数祖中[11/17/2009 Owner]
     vector< vector< double > > m_matreaddatas;
     // 进行运算的拷贝数据数组 [11/18/2009 Owner]
     vector< vector< double > > m_matcopydatas;

     // 18元素元素名称数组 [11/17/2009 Owner]
     vector< MineEle > m_Oxide; //氧化物数组
     vector< MineEle > m_StanMine; //标准矿物数组 C数组
     vector< MineEle > m_OutMine; //输出矿物数组

     // 运算用的V,M数组;初始化全部赋值为0 [11/18/2009 shulei]
     double V[7];

     // 进行输出的标准矿物二维数组 [11/18/2009 Owner]
     vector< vector< double > > m_OutMine2;

    代码二、初始化

     // 进行初始化操作 [11/19/2009 shulei]
     // SiO2状态 [11/21/2009 shulei]
     m_SiOSituation.Format(_T("SiO2状态"));

     // 18种元素初始化,元素名称和分子量赋值 [11/17/2009 Owner]
     m_matreaddatas.clear();
     m_matcopydatas.clear();

     m_OutMine2.clear();

     m_Oxide.clear();
     m_StanMine.clear();
     m_OutMine.clear();

     initMine(); 

    代码三、赋值

    //  // 给输出二维数组赋初值 [11/25/2009 shulei]
     vector< double > tmp;
     tmp.clear();
     for (int i = 0; i < 31; i++)
     {
      tmp.push_back( 0.0 );
     } 
     for (int a = 0; a < m_matreaddatas.size(); a++)
     {
      m_OutMine2.push_back(tmp);
     }

    代码四、拷贝

     // 1拷贝数组 [11/19/2009 shulei]
     m_matcopydatas.assign(m_matreaddatas.begin(),m_matreaddatas.end());

    代码五、txt文件的读取、写入和字符串操作

     CString sFileFilter="TXT Files (*.txt)|*.txt|Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";
     CString sFileName;
     CFileDialog fDlg(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,sFileFilter,NULL);
     fDlg.DoModal();
     sFileName=fDlg.GetFileName();

     if(sFileName!="")
     {
      //编辑框中显示文件内容
    //  m_edtsourcefileDisp.FillTextDisp(sFileName);
      
      CStdioFile f;
      CString  strTemp; //txt文件中一行数据
      CString  str;
      BOOL  flag;
      CString strname;
      vector< double > val;
      // 读取数据 [11/17/2009 Owner]
      if (!f.Open(sFileName, CFile::modeRead))
      {
       MessageBox(_T("Open File Fail!"));
       return ;
      }

      flag = f.ReadString(strTemp);
      while (flag)
      {
       //MessageBox(strTemp);
       // 获取一行中的,,用来截取数据 [8/27/2009 7919舒磊]
       int n = 0 ; // n个逗号,n+1个数值 [8/27/2009 7919舒磊]
       int   a   =   strTemp.Find(",");  
        while(a!=-1)  
        {  
         ++n;
         a   =   strTemp.Find(",",a+1);  
        }  //18个逗号
       //用char*变量来保存一行数据,进行转化[8/27/2009 7919舒磊]
       char* ch; 
        ch = (char *)strTemp.GetBuffer(0);
       strname = atof(strtok(ch,","));//读取名称,有错误,以后修改
       //MessageBox(strname);

       //读取数据
       val.clear();
       for (int i = 1; i <= n; i++)
       {
        val.push_back( atof(strtok(NULL,",")) );
       }
       m_matreaddatas.push_back(val);// n个样品的18个数据都存入n*18数祖中 [11/17/2009 Owner]

        flag = f.ReadString(strTemp);// 注意这行:读取完元素名后又读取了一行,编辑时小心 [8/27/2009 7919]
      }
    //     for(int i = 0; i < 3; i++ )//v.size() 表示vector存入元素的个数
    //      {
    //      for (int n=0;n<18;n++)
    //      {
    //       CString strtmp;
    //      strtmp.Format("%f",m_matreaddatas[i][n]);
    //       MessageBox(strtmp);     
    //      }
    //      }   
      
     }

     

     

     // 1输出 [9/17/2009 7919舒磊]
     // 1.1打开文件对话框 [9/17/2009 7919舒磊]
    //  通过CFileDialog对话框写入文件操作[8/28/2009 7919舒磊]
     CString strFileName;
     CStdioFile file;
     // 使用课题名称定义文件名 [8/28/2009 7919舒磊]
     CString strtmpfilename;
     strtmpfilename.Format("CIPW.txt");
     //MessageBox(strProName);

     CFileDialog savedlg(false,"txt",strtmpfilename,OFN_OVERWRITEPROMPT|OFN_CREATEPROMPT,"Text Files (*.txt)|*.txt|All Files (*.*)|*.*||",NULL);
     if (savedlg.DoModal() == IDOK)
     {
        strFileName = savedlg.GetPathName();
      // 1.2输出标题 [9/17/2009 7919舒磊]
        if (!file.Open (strFileName,CFile::modeCreate|CFile::modeWrite))
        {  
       AfxMessageBox("Error in Creating File");
        }
        else
        {
          // file action [8/28/2009 7919舒磊]
          // 写标题 [8/31/2009 7919舒磊]
       CString outtitle ;
       outtitle.Format("/t/t/t[C.I.P.W标准矿物成分计算]/n/n");
       file.WriteString(outtitle);   
       // 2写原数据 和运算后的数据[11/19/2009 shulei]

    展开全文
  • 用C++语音实现一维数组二维数组写入txt,从txt中读取数据存到一维数组、二维数组数组用指针表示
  • 从txt文本中读取数据存入数组

    千次阅读 2018-07-20 11:48:30
    从txt文本中读取数据存入数组中   #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;vector&gt; using ...

    从txt文本中读取数据存入数组中

    
     
    1. #include <iostream>

    2. #include <fstream>

    3. #include <string>

    4. #include <vector>

    5. using namespace std;

    6.  
    7. int main()

    8. {

    9. ifstream infile;

    10. infile.open("1.txt");

    11. if(!infile) cout<<"error"<<endl;

    12.  
    13. string str;

    14. int t1;

    15. /* while(getline(infile,str)) //按行读取,遇到换行符结束

    16. {

    17. infile.getline(str,10);

    18. cout<<str<<endl;

    19. }

    20. */

    21. /*//存入vector

    22. cout<<"存入vector"<<endl;

    23. vector<int> ve;

    24. while(infile>>t1) //按空格读取,遇到空白符结束

    25. {

    26. ve.push_back(t1);

    27. }

    28.  
    29. for(int i=0;i<ve.size();i++)

    30. cout<<ve[i]<<" ";

    31. cout<<endl;

    32. */

    33.  
    34. //存入数组

    35. cout<<"存入数组"<<endl;

    36. int a[3][4];

    37. int*p=&a[0][0];

    38. while(infile>>t1) //遇到空白符结束

    39. {

    40. *p=t1;

    41. p++;

    42. }

    43. infile.close();

    44. for(int i=0;i<3;i++)

    45. { for(int j=0;j<4;j++)

    46. cout<<a[i][j]<<"\t";

    47. cout<<endl;

    48. }

    49. return 0;

    50.  
    展开全文
  • 今天小编就为大家分享一篇C++从txt文件中读取二维的数组方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • C#代码实现从txt文件中读取坐标点,并写入到一个数组中! //从TxT文件中读取数据 存入到数组中 并返回一个存有坐标点的数组 double a = 0D; double[][] strArray = new double[361][]; double[] arr = new double[3]...

    C#代码实现从txt文件中读取坐标点,并写入到一个数组中!

    //从TxT文件中读取数据 存入到数组中 并返回一个存有坐标点的数组
    double a = 0D;
    double[][] strArray = new double[361][];
    double[] arr = new double[3];
    int k = 0;

    public void ReadToArray ()
    {
    // int line_total = 0;
    string txtPath = @“D:\DEVsoftware\VSCodeWorkSpace\demo04\test.txt”;
    StreamReader sr = new StreamReader (txtPath, Encoding.Default);
    String line;
    while ((line = sr.ReadLine ()) != null)
    {
    //记录读出的每一行的数据
    string[] str = line.Split (’ ');

            for (int i = 0; i < str.Length; i++) //str.Length=3
            {
                // 转换类型并存入strArray数组
                a = Convert.ToDouble (str[i]);
                arr[i] = a;
            }
    
            strArray[k] = new double[3]; //开辟二维空间
            for (int i = 0; i < arr.Length; i++) 
            {
                strArray[k][i] = arr[i]; //存入二维数组
            }
            k++;
        }
        //return strArray;不需要返回值,直接操作strarray
    }
    

    部分数据如下:
    6.3602 0 6.3602
    6.8379 0 6.8379
    7.3141 0 7.3141
    7.7886 0 7.7886
    8.2614 0 8.2614
    8.7327 0 8.7327
    9.2023 0 9.2023
    9.6704 0 9.6704
    10.1368 0 10.1368
    10.6016 0 10.6016
    11.0648 0 11.0648
    11.5264 0 11.5264
    11.9864 0 11.9864
    12.4448 0 12.4448
    12.9016 0 12.9016
    13.3568 0 13.3568
    13.8105 0 13.8105
    14.2625 0 14.2625
    14.7130 0 14.7130
    15.1618 0 15.1618

    展开全文
  • 从txt中读取数据存入二维数组

    千次阅读 2011-08-15 22:03:53
    在实际应用中,经常需要把txt中的数据读入到一个数组中,然后再参与运算。在C语言中可以利用fscanf( )函数文件中读取数据, 示例如下: void main() {  double **x,*y;  FILE *fp;  if((fp
  • C++读取txt文档到数组

    万次阅读 2018-03-01 16:13:30
    用C++从txt文件中读取 x 行 y 列的数据到数组中。//读取数据到 double数组#include &lt;iostream&gt;#include &lt;fstream&gt; using namespace std; int main(){ double array[27][30]={...
  • C++从txt文件中读取二维的数组

    万次阅读 多人点赞 2017-12-09 20:57:34
    MATLAB保存的二维数组1500*2的数据到txt文件,格式化保存方式如下: MATLAB代码:fid=fopen('data.txt','wt'); for i=1:1500 fprintf(fid,'%.3f\t%.3f\n',r(i,:)); end fclose(fid);其中r是1500*2的矩阵 在...
  • <p>I'm trying to open a directory, read just files with a .txt format and then display the contents. I've coded it out, but it doesn't do anything, although it doesn't register any errors either. Any ...
  • 从txt文件中读取数据存入数组

    千次阅读 2013-05-09 21:11:20
    txt文件内容如下: “FXH-05”,“我是中国人”,“ggfhsdg发” ,“654321”,“谢谢你!”,007 # 325,1643,133,1157 131,6423,241,22122 # 325,1423,133,1857 131,1223,211,22265 ...
  • 在 example 下面,用于带有systemverilog的二进制文件中读取 .如IEEE SV标准文档中所示, "nchar_code" 将返回读取的字节数/字符数 . 如果在上次读取时已经达到EOF,则该数字将为零 . 请注意,“ nchar_code ”...
  • python将numpy数组写入txt文件,并从txt文件读取

    万次阅读 多人点赞 2019-03-28 16:13:06
    dets = np.array([[1,2],[3,4]]) np.savetxt("E:\...保存:表示将dets数组保存到指定路径下的txt文件,格式是浮点型,以逗号为分割符 保存的txt文件结果为: dets= np.loadtxt('dets.txt',delimiter...
  • 一、利用C++读写txt文件: 全篇转载http://blog.csdn.net/lh3325251325/article/details/4761575(他也是转载的)下面的代码没有逐一验证, 主要是为了学习这个框架。 #include  #include  #include    using...
  • MATLAB保存的二维数组839*3的数据到txt文件,格式化保存方式如下: matlab代码: Pp2=[x;y;z]'; fid = fopen('a.txt','wt'); [m,n]=size(Pp2); for i=1:1:m for j=1:1:n if j==n fprintf(fid,'%g\n',Pp2...
  • 从txt文件中读取数据到二维数组

    千次阅读 2016-03-11 22:24:13
    1. 用fopen(“文件名”,“r”)...3. 循环中用fscanf(fp,“%”,&a[])函数将文件的数据读入到数组 4. fclose(fp)函数关闭文件 代码如下: FILE *fp; fp=fopen("ex2data1.txt","r"); if(fp==
  • 为了检验是否是输出乱码,而实际数组是正确的,我自己设了一个字符串,用equal方法发现还是false。 请大家帮助一下。 至于 e:/abc.txt 请您复制一下,如下。 some tea 梦 孟 梦伟 孟伟 文件 编辑 格式 ...
  • txt中的数据是通过以下代码存进去的。 StreamWriter sw = new StreamWriter(filePath1, true); for (int m = 0; m < hang; m++) { for (int n = 0; n < lie; n++) { sw.WriteLine(averwave[m, n])...
  • 现在我需要实现的是讲txt文件的数据读取出来并且存储到一个二维数组中。,首先为了对待什么样的矩阵我们都可以读取,我们就要设置一个动态的矩阵,这样当我们知道txt文本矩阵的维数的时候,就可以直接在程序输入...
  • 可以将excel表格里面的数据存到test.txt文档然后运行程序可以将表格的数据读到一个三维数组里面,然后进行筛选 数学建模可用
  • 每行一个单词,需要完整代码可直接运行</p>
  • C++读取TXT数据保存在数组中

    千次阅读 2019-04-24 23:26:47
    第一行是数据的个数,将其保存在一个int型变量第二行开始是横纵坐标值,每行两个int型数有空格,将每行数据(即横纵坐标)文件读出,然后保存至一个数组中: #include #include using namespace std; ...
  • c语言—文件中读取一个结构体数组(txt文件)

    千次阅读 多人点赞 2020-03-16 15:47:34
    //读取文件 File *fp=fopen("wxm.txt","r"); //写入文件 File *fp=fopen("wxm.txt","w"); //关闭文件 fclose(fp); ????:关闭文件一般紧接return 0之前 下面是我最近写的一个代码程序,大家可以作为参考: #...
  • #先定义,后给元素赋值 declare -a arr3 arr3[0]="a" arr3[1]="b" 3.5.2 数组使用 获取数组长度:用${#数组名[@或*]} 可以得到数组长度 ${#arr[*]} 或 ${#arr[@]} 读取数组元素: 读取下标为1的元素:${arr[1]} 读取...
  • 报错:table中读取的数据无效 分析了一下代码,应该是我运行代码的时候出现了table【-2】 我的问题:一个m_*n的矩阵,假设其中一个元素为(m,n) 怎样遍历以(m,n)为中心的“十字”的元素? ps:附上源码_ ``` ...
  • 已结贴√问题点数:25回复次数:10 关于文件中读取数据并写入结构体数组各位大大好,本人新手一枚,最近写简单的通讯录的c程序,其他功能完好,最后一个将txt文件中的数据写入结构体数组的函数无法正常使用。...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 362
精华内容 144
关键字:

从txt中读取数组