从命令行和存储中读取可更改的行文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从命令行和存储中读取可更改的行文件相关的知识,希望对你有一定的参考价值。

我打算从命令行读取一个文件。我想将这些行存储在数组中。但问题是我不知道行数。所以我不知道如何在数组中动态存储它。所以请帮忙。 (通过给出一些示例代码)

答案

使用两个循环,在第一个循环中检查每一行的大小并添加到变量中。一旦它到达文件的末尾,您将获得将文件存储在数组中所需的总字节数。现在使用该total bytes变量动态地为数组分配内存。现在启动第二个循环,读取每一行并存储到该数组中。

另一答案
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main(void)
{
    FILE * fp;
    char * line = NULL;
    size_t len = 0;
    ssize_t read;
    int i=0;
    char **A;
    A = (char **)malloc(sizeof(char *)*1); //creating char array of a[0][]

    fp = fopen("/etc/motd", "r");
    if (fp == NULL)
        exit(EXIT_FAILURE);

    while ((read = getline(&line, &len, fp)) != -1) {
        A = (char **)realloc(A, sizeof(char **)*(i+1)); // adding one more row to array
        *(A+i) = (char *)malloc(sizeof(char)*read); //adding required column
        strcpy(A[i],line); // copying line to i-th raw of array
        i++;
    }

    fclose(fp);
    if (line)
        free(line);
    exit(EXIT_SUCCESS);
}

以上是关于从命令行和存储中读取可更改的行文件的主要内容,如果未能解决你的问题,请参考以下文章

读取特定的行和列 C++

Python - 如何在 Python 中从 Google 表格中读取特定范围的行和列?

Linux中vim编辑文件跳转指定的行和列

计算可迭代元组的行和列总计

Kendo Grid 获取更改事件的行和列索引

从C中的文件中读取行和列