• Linux c 从文件当中读取任意一行的数据


    代码如下

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <string.h>
    #include <fcntl.h>
    #define FILEBUFFER_LENGTH 5000
    #define EMPTY_STR "

    //打开fileName指定的文件,从中读取第lineNumber行
    //返回值:成功返回1,失败返回0
    int get_file_line(char *result,char *fileName,int lineNumber)
    {
        FILE *filePointer;
        int i=0;
        char buffer[FILEBUFFER_LENGTH];
        char *temp;

        memset(buffer,'',FILEBUFFER_LENGTH*sizeof(char));
        strcpy(buffer,EMPTY_STR);

        if((fileName==NULL)||(result==NULL))
        {
            return 0;
        }

        if(!(filePointer=fopen(fileName,"rb")))
        {return 0;}


        while((!feof(filePointer))&&(i<lineNumber))
        {
            if(!fgets(buffer,FILEBUFFER_LENGTH,filePointer))
            {
                return 0;
            }
            i++;//差点又忘记加这一句了
        }

       /* printf(" %d ",sizeof(*result));
        if(strlen(buffer)>sizeof(*result))//不能够这么写,虽然fgets读取一行后会在末尾加上'',但是sizeof(result)得到的结果却是result本身类型的大小,所以不能够这么算。当静态数组传入函数时,在函数内部只能知道它是一个指针
        {
            return 0;
        }*/




        if(0!=fclose(filePointer))
        {
            return 0;
        }

        if(0!=strcmp(buffer,EMPTY_STR))
        {
            while(NULL!=(temp=strstr(buffer," ")))
            {
                *temp='';
            }

            while(NULL!=(temp=strstr(buffer," ")))
            {
                *temp='';
            }


            strcpy(result,buffer);
        }else
        {
            strcpy(result,EMPTY_STR);
            return 0;
        }

        return 1;
    }

  • 相关阅读:
    css文本垂直水平居中
    如何通过eclipse查看、阅读hadoop2.4源码
    hadoop、storm和spark的区别、比较
    Spark学习体系整理(基础篇、中级篇、高级篇所涉及内容)
    scala class和object,trait的区别
    Scala的=>作用
    [Scala函数特性系列]——按名称传递参数
    Python读写文件
    如何向map和reduce脚本传递参数,加载文件和目录
    Java中字符串中子串的查找共有四种方法(indexof())
  • 原文地址:https://www.cnblogs.com/thegodofthunder/p/7215852.html
Copyright © 2020-2023  润新知