将.txt复制到int数组,然后保存到另一个文件中

时间:2013-03-11 22:09:01

标签: c++ text-files ifstream ofstream dev-c++

//编辑:我发现了自己的错误。我仍然缺少一件事:它没有正确计算线条。如果.txt中的最后一个字符不是'\ n',则它会减少1行。如果我点击它,那就多了2个。怎么了 ?你能帮助我吗?

  

krol.txt =

2 4
3 7
3 13
2 4
3 1 

和main.cpp

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main(){
    ofstream outFile;
    ifstream fin;
    fin.open("krol.txt");
    int l=0;
    char ch;
    while (fin.good()){
        fin.get(ch);
        if (ch=='\n') l++;
    }
    cout << l;
    fin.close();
    fin.open("krol.txt");
    int temp[l][2];
    int savel=l;
    l=0;
    int i=0;
        while (fin >> (temp[l][i])){
        i++;
        if(i==2){ 
         i=0; l++;
        }
    }

    outFile.open("save.txt");
    for (int i=0, j=0;j<savel;i++){
        if (i==2) {
        i=0; j++;
        }
        outFile << temp[j][i];
    }
    outFile.close();
    system("PAUSE");
    return 0;
     }

1 个答案:

答案 0 :(得分:0)

我不是C ++专家,但不应该

fout >> ch;

fout << ch; 

(修正了Thomas Matthews&#39;评论)