C/C++ 格式化讀取和讀取一行


文件內容

2
3 2
1 4 1 1 0 11
4 1 1 1 8 11
2 5 0 0 0 11
4 1 0 0 0 11
5 5
2 4 1 0 1 13
4 4 0 1 12 13
1 4 1 1 0 13
3 5 1 1 7 13

一、格式讀取

1. C語言

FILE * f_in = fopen("1.txt", "r");
    int k;
    int m, n;
    int dp[6];
    fscanf(f_in, "%d", &k);
    while (k--) {
        fscanf(f_in, "%d %d", &m, &n);
        for (int i = 0; i < 4; ++i) {
            fscanf(f_in, "%d %d %d %d %d %d", &dp[0], &dp[1], &dp[2], &dp[3], &dp[4], &dp[5]);
        }
    }

2. C++  >>輸入運算符遇到空白字符就停止輸入,但把空白字符留在緩沖區

ifstream f_in("1.txt");
    int k;
    int m, n;
    int dp[6];
    f_in >> k;
    while (k--) {
        f_in >> m >> n;
        for (int i = 0; i < 4; ++i) {
            f_in >> dp[0] >> dp[1] >> dp[2] >> dp[3] >> dp[4] >> dp[5];
            cout << dp[0] << "," << dp[1] << "," << dp[2] << "," << dp[3] << "," << dp[4] << "," << dp[5] << endl;
        }
    }

 

二、讀取一行

C++

getline一直讀到換行符,從輸入緩存讀取換行符並把換行符丟棄

    ifstream f_in("1.txt");
    
    string str;
    
    while (getline(f_in, str)){
            cout << str << endl;

    }    

C語言 fgets讀取並丟掉換行符

FILE* f_in = fopen("1.txt", "r");
    
    char str[1024];

    while (fgets(str, 1024, f_in)){
        cout << str;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM