c - 检测C中的行尾

标签 c arrays matrix eol

这是从文件“F1.txt”读取矩阵 10x10 的代码

#include <stdio.h>

int main( int argc, char ** argv ) {

    FILE * fr;
    fr = fopen("F1.txt","r");

    int i, j;
    int matrix[10][10] = {0.0}; 

    for(i = 0; i < 10; i++)
    {
        for(j = 0; j < 10; j++)
        {
            fscanf(fr, "%d",&matrix[i][j]);
            printf("%d\n", matrix[i][j]);
        }
    }

    getchar();
    return 0;
}

“F1.txt”如下所示:

12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 4 34 56 43 32 124 52 212 3
32 343 34 544 43 32 7 52 456 98

它工作没有问题,但输出是:

12
343
34
544
43
32
124
52
212
3
12
343
34
544
43
32
124
52
212
..........
etc....

我必须检测行尾以使我的输入与 F1.txt 中的输入相同

12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 343 34 544 43 32 124 52 212 3
12 4 34 56 43 32 124 52 212 3
32 343 34 544 43 32 7 52 456 98

.

最佳答案

按以下方式重写循环

for(i = 0; i < 10; i++)
{
    for(j = 0; j < 10; j++)
    {
        fscanf(fr, "%d",&matrix[i][j]);
        printf("%3d ", matrix[i][j]);
    }
    printf( "\n" );
}

关于c - 检测C中的行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23561651/

相关文章:

python - 由于垃圾收集错误,c python 扩展导致 python 脚本以段错误退出

c - 打印值的宏中的警告

c - malloc 一次,然后在结构数组上分配内存

Python:调整现有数组的大小并用零填充

c - C 中第二个平分线右侧元素的和

c - 使用 wordwrap 2 的最佳消息框大小

c - 旋转存储像素的矩阵

java - 将字符串数组从 Java 传递到 C++

arrays - 如何创建 5 个值的数组/slice ,所有值都相同

c++ - 在 C++ 中堆重载和读取文件的二维矩阵