精华内容
下载资源
问答
  • linux c开发一定会遇到创建文件,废话少说,代码如下,不足之处请多指教! #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdbool...

    linux c开发一定会遇到创建文件,废话少说,代码如下,不足之处请多指教!

    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <stdbool.h>
    #include <stdio.h>
    #include <errno.h>
    #include <string.h>
    #include <libgen.h>
    #include <stdlib.h>
    
    int isFileExisted(const char *pathname){
    	if(access(pathname,F_OK) == 0){
    		return true;
    	}
    	return false;
    }
    
    void makeDirectory(const char *path){
    	if((strcmp(path,".") == 0) || (strcmp(path,"/")==0))
    		return ;
    	if(isFileExisted(path))
    		return ;
    	else{
    		char *duppath = strdup(path);
    		const char *dir_name = dirname(duppath);
    		makeDirectory(dir_name);
    		free(duppath);
    	}
    	if(mkdir(path,0766) < 0){
    		perror("mkdir");
    		exit(1);
    	}
    	return;
    }  
    
    int createFile(const char*filename,int mode){
    	if(creat(filename,mode) < 0){
    		if(errno == ENOENT){
    			char *dup_filename=strdup(filename);
    			char *dir = dirname(dup_filename);
    			makeDirectory(dir);
    			free(dup_filename);
    			creat(filename,mode);
    		}
    		return false;
    	}
    	return true;
    }
    
    
    int isFileNull(const char *filename){
    	FILE *fp = fopen(filename,"r");
    	if(fp == NULL)
    		return -1;	
    	int val = 0;
    	char ch = fgetc(fp);
    	if(ch == EOF)
    		val = 1;
    	fclose(fp);
    	return val;
    }
    

    补充:

    dirname函数和basename函数,使用man 3 dirname 查看。

    展开全文
  • C语言怎么判断文件是否为空

    万次阅读 2012-04-09 17:59:58
    文件为空时 只有文件结束符EOF 当读取第一个字符是EOF时即可判断文件是不是 #include #include void main() { FILE *fp; char ch; if((fp=fopen

    http://zhidao.baidu.com/question/58621913.html?fr=qrl&cid=866&index=1&fr2=query


    文件为空时 只有文件结束符EOF
    当读取第一个字符是EOF时即可判断文件是不是空
    #include <stdio.h>
    #include <stdlib.h>
    
    void main()
    {
      FILE *fp;
      char ch;
      if((fp=fopen("1.txt","r"))==NULL)
      {
       printf("Error!\n");
       exit(0);
      }
      ch=fgetc(fp);
      if(ch==EOF)
       printf("文件为空\n");
      else
       printf("文件不为空\n");
    }
    
    ch就是获取到的文件里面的内容
    fgetc(fp)这个函数就是获取文件内容的函数
    从文件头开始 一直取到文件尾。。每调用这个函数一次 就会取出文件中的下一个字符 一直到文件尾为止
    其中你的那个1.txt要放在和你程序相同的文件夹内

    法二:

    FILE *fp=fopen("1.txt","r");
    feof(fp)返回0非空,返回1为空 

    展开全文
  • 【C】C语言判断文件后缀名

    千次阅读 2018-12-20 14:21:28
    文章目录【C】C语言判断文件后缀名一、 前言二、代码三、结果测试四、参考文件 【C】C语言判断文件后缀名 一、 前言 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&...

    【C】C语言判断文件后缀名

    一、 前言

               1、本博文主要用于解决博主用的问题。
               2、可在此基础上扩展进行判断其他后缀名文件奥。
               3、几天不写博文博主手痒痒的不行,所以就做个简单记录。

    二、代码

    /*
     * @Author: 贾继康
     * @Date: 2018-12-20 14:02:39
     * @Last Modified by: mikey.zhaopeng
     * @Last Modified time: 2018-12-20 14:14:41
     * @程序功能:
                判断一个文件是否是文本文件(.txt格式)
     *
     */
    
    #include <stdio.h>
    #include <string.h> // strrchr()函数
    
    int main(void)
    {
        char sFilenname[20]; //创建chr型数组且分配内存
        const char *pFile;
    
        printf("请输入文件名称:");
        scanf("%s", sFilenname);
        pFile = strrchr(sFilenname, '.'); // 判断输入的文件名最后输出.的位置
    
        if (pFile != NULL)
        { // 输入不为空
            if (strcmpi(pFile, ".exe") == 0)
            { // 判断.exe文件
                printf("exe文件!");
                return 0;
            }
            else if (strcmpi(pFile, ".txt") == 0)
            { // 判断.txt文件
                printf("txt文件");
                return 0;
            }
        }
        printf("非文件格式");
        return 0;
    }
    

    三、结果测试

    在这里插入图片描述

    四、参考文件

               1、http://www.runoob.com/cprogramming/c-function-strcmp.html
               2、http://www.runoob.com/cprogramming/c-function-strrchr.html

    展开全文
  • while(!feof(fp)) { s=(Tx *)malloc(sizeof (Tx)); fscanf(fp,"%d %s %d\n",&s->id,&s->name,&s->tel); printf("%d%s%d\n",s->id,s... 如果文件中没有数据就会报错,怎么处理 feof()不是可以判断的吗
  • 文件为空,写入标题:方法名 平均时间 最大值 最小值 循环次数 读写大小 fprintf(fp, " %-30s %-20s %-20s %-20s %-10s %-10s\n " , " caseName " , " averageTime(ms) " , " maxTime(ms) " , " minTime(ms) " , " ...
    void writeReslut2(char* caseName,double averageTime,double max, double min,int loops,int size){
        fpos_t pos = 0;
        fpos_t endpos = 0;
        FILE *fp = fopen("E:\\PerformanceResult.txt","at");
        if(NULL == fp){
            printf("open file failed !\n");
            return ;
        }
        //printf("%d\n",ftell(fp));
    
        fgetpos(fp,&pos);
        //printf("pos = %d\n",pos);
        fseek(fp,0L,SEEK_END);
        fgetpos(fp,&endpos);
        //printf("endpos=%d\n",endpos);
    
        if(pos == endpos){//文件为空,写入标题:方法名 平均时间 最大值 最小值 循环次数 读写大小
            fprintf(fp,"%-30s %-20s %-20s %-20s %-10s %-10s\n","caseName","averageTime(ms)","maxTime(ms)","minTime(ms)","loops","size(KB)");
        }
        fseek(fp,0L,SEEK_END);
        fprintf(fp,"%-30s %-20f %-20f %-20f %-10d %-10d\n",caseName,averageTime,max,min,loops,size);
        fclose(fp);
    
    }

    通过文件打开的指正位置,以及结尾的指正位置判断

    转载于:https://www.cnblogs.com/luolizhi/p/5802023.html

    展开全文
  • 判断目录是否为空

    2012-09-27 20:49:47
    判断目录是否为空,实现c代码。
  • 方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文件: #include <io.h> //windows #include <unistd.h> //linux filename:可以...
  • 方法一:access函数判断文件夹或者文件是否存在 函数原型:int access(const char *filename, int mode); 所属头文件:windows下 io.h , Linux unistd.h filename:可以填写文件夹路径或者文件路径 mode 说明 ...
  • C语言读取文件判断是否读取结束

    千次阅读 2019-09-07 15:44:16
    读取文件时,判断内容是否已经空当目前所读取的字符EOF时说明后面内容为空或者直接使用feof()函数 当目前所读取的字符EOF时说明后面内容为空 char ch; FILE* fp=fopen(********); ch=fgetc(fp); if(ch==EOF) ...
  • C语言文件操作一

    千次阅读 多人点赞 2019-11-04 20:58:15
    C语言文件操作 在C语言中,操作文件之前必须先打开文件,所谓“打开文件”,就是让程序和文件建立连接的过程。 打开文件之后,程序可以得到文件的... 头文件中的 fopen() 函数即可打开文件,它的用法: FILE *fop...
  • Linux C 库函数判断一个文件是否为空

    千次阅读 2016-07-21 18:48:30
    C语言fgetc()函数的返回值意义 函数原型:int fgetc( FILE* stream ); 这个函数的返回值,是返回读取的一个字节。如果读到文件末尾返回EOF。 EOF其实就是一个宏:#define EOF (-1) 表示-1. 既然返回的是一个...
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    C语言 42.C语言是一种计算机高级语言。 43.C语言允许直接访问物理地址,能进行位操作。 44.C语言是结构化程序设计语言 45.c程序要通过编译,连接才能得到可执行的目标程序 46.用c语言编写程序,可以编写出任何类型的...
  • 关于C语言feof()函数判断文件结尾的问题分析

    千次阅读 多人点赞 2017-12-04 01:12:42
    相信很多C语言初学者都遇到过这种情况: 使用 while(!feof(fp)) { fscanf(...); //或者 //fread(...) } 读文件时经常会重复读最后一段字符。 实际上这并非feof()函数的bug,只是我们不了解feof()函数的...
  • 6.22 如何在一个文件判断声明extern的数组的大小(例如,数组定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存分配 ...
  • C语言判断文件是否存在

    千次阅读 2018-06-27 10:50:21
    转自:方法一:access函数判断文件夹或者文件是否存在函数原型: int access(const char *filename, int mode);所属头文件:io.hfilename:可以填写文件夹路径或者文件路径mode:0 (F_OK) 只判断是否存在 2 (R_...
  • c语言中如何判断文件是否存在

    千次阅读 2016-06-10 10:09:24
    C语言判断文件夹或者文件是否存在的方法 方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文件:#include filename:可以填写文件夹路径或者文件...
  • 本文和大家分享的主要是C语言判断文件是否存在的相关知识,希望对大家有所帮助,一起来看看吧。  方法一:access函数判断文件夹或者文件是否存在  函数原型: int access(const char *filename, int mode...
  • C语言打开文件详解

    千次阅读 多人点赞 2020-02-28 14:10:09
    C语言中操作文件之前必须先打开文件;所谓“打开文件”,就是让程序和文件建立连接的过程。 打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、创建者、更新时间等。在后续读写文件的过程中,程序还...
  • C语言文件的操作

    万次阅读 多人点赞 2018-12-18 23:24:05
    前言在谭浩强的C语言设计的第10张讲了有关文件的知识, 以往我们写的C程序的数据都是由键盘输入的 现在我们要对文件进行操作。 文件是操作系统的基本单位。是我们专业领域的重要的一部分。 就拿我们的编译器来说...
  • C语言文件操作

    千次阅读 多人点赞 2019-08-04 08:07:14
    实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是存放在外部介质(如磁盘等)上的,在使用时才调入内存中来。从用户的角度看,Linux系统的文件...
  • 文件为空时,依旧执行读取语句 ② 读取文件内容时,最后一个内容会被重复读取 代码问题&解决方案 问题发现 对于①,很多时候会因为文件为空而导致程序错误,代码写的好好的理论上没问题怎么就错了呢? 下面是...
  • C语言文件系统

    千次阅读 多人点赞 2017-11-27 05:17:11
    C文件系统由若干互相联系的函数构成,这类函数要求包含头文件。常用的缓冲文件系统函数有:  fopen():打开一个文件  fclose():关闭一个文件  putc(),fputc():向文件写一个字符  getc(),fgetc():从文件中...
  • C语言文件读写命令

    千次阅读 2016-08-31 11:11:07
    C语言文件读写命令 C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件。文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符。二进制文件...
  • 关于文件输出字符问题(C语言

    千次阅读 2017-05-15 15:26:54
    之前写一个将一些GPS报文中的经纬度提取出来的程序结果再将经纬度单独提取出来的同时,发现每次都会在结尾多出一个类似 y (Linux VIM编译环境) 的小字符让文件在执行后面的程序时,会出现或大或小的问题;...
  • C语言文件(FILE)

    万次阅读 多人点赞 2019-04-05 23:19:07
    文章目录一、文件1.1 文件类型指针1.2 文件的打开与关闭1.2.1 文件的打开1.2.2 文件的关闭1.3 文件的读写1.3.1 文本文件的读写1.3.1.1 写字符函数fputc和读字符函数fgetc1.3.1. 2 写字符串函数fputs和读字符串函数...
  • C语言-文件读写操作

    千次阅读 2019-04-19 11:35:01
    C 语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此 c 语言将文件也称之为文件流。 即当读写一个文件时,可以不必关心文件的格式或结构。 2、文本文件和二进制文件: 计算机文件的存储...
  • C语言文件读写操作

    千次阅读 多人点赞 2020-10-25 15:58:33
    c语言文件读写操作 介绍了文件指针FILE的使用,文件读写操作的一般函数
  • 汇总:C语言文件操作接口实例解析

    千次阅读 2019-01-16 20:43:40
    写在前面 计算机文件是以计算机...通过文件指针就可对它所指的文件进行各种操作,C语言规定该文件指针类型FILE型。 FILE文件指针结构体定义: typedef struct { short level; // 缓冲区“满”或“”的程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,714
精华内容 24,285
关键字:

c语言判断文件为空

c语言 订阅