精华内容
下载资源
问答
  • root@kali:~/python/laowangpy# more logid.txt admin**1 admin**2 admin**3 ........ ........ ........ admin**8 admin**9 --More--(4%)
  • C语言操作EXCEL文件(读写)

    万次阅读 多人点赞 2017-02-26 18:18:37
    C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作: C语言读操作 C语言写操作 在之前需要使用C语言读取Excel文件内容的功能,查阅了很多资料,大部分是通过ODBC或者过OLE/...

    C语言操作EXCEL文件(读写)

    本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节)

    • C语言读操作
    • C语言写操作

    在之前需要使用C语言读取Excel文件内容的功能,查阅了很多资料,大部分是通过ODBC或者过OLE/COM对Excel表格的读取操作,这变要求在工程中添加类,如CApplicaton及其头文件等,这包括Excel接口、导入类、头文件等。操作十分复杂,当然我也对这种方法进行了尝试,也实现了功能,这种方法实现的功能比较多,一般我们只是进行简单的读写操作,所以并不是很想使用这种方法。下面通过C语言读写程序来实现。

    一、写操作

    第一步:单纯C语言写入Excel文件只能是 *.csv的后缀文件(是和txt一样,以二进制文本形式存储,它是以都逗号分隔符做个单元格内容的划分, .xls存储比较复杂, .csv文件可以可以通过.xls或者.xlsx文件另存为,选择.csv文件格式),它们可以通过Notepad++等记事本软件当做txt文件打开。

    需要注意的是:当对*.xls文件写入或者读取之后,再打开Excel文件时会弹出格式兼容的提示窗口,因为这样的C语言操作Excel文件是当文本文件打开操作的,所以会忽略原有格式,但是不影响,点击“是(Y)”即可,如下图所示:

    格式兼容性提示

    第二步:对表格的处理,使用C语言打开表格后,文件指针指向整个表格的第1行第1列。
    如果要给它的下一个同行单元格(第1行第2列)写数据,使用"\t" ;
    如果要给它的下一个同列单元格(第2行第1列)写数据,使用"\n" 。

    具体代码如下:

    void writeExcel()
    {
    	char chy[4]={ 'x' ,'a' ,'h','w' } ;
    	int data[4]={ 1 , 3 , 6 ,9	};
    	int i ;
    	FILE *fp = NULL ;
    	fp = fopen("G:\\Desktop\\test.csv","w") ;
    	for (i=0 ; i<4 ;i++)
    		fprintf(fp,"%c\t%d\n",chy[i],data[i] ) ;
    	fclose(fp);
    }
    void main()
    {					
    	writeExcel()  ;	
    }
    

    运行结果

    写入文件
    写入文件

    二、读操作

    读取文件

    打开文件
    读取文件内容

    对于读取Excel文件的操作,使用了文件随机定位函数fseek(),它的一般调用格式如下:
    fseek(文件指针,位移量,起始位置) ;
    **fseek()**参数说明:
    位移量
    : 指重新定位时的字节偏移数,表示相对于基址的字符数,通常是一个长整型数,可以是整形常量,整形表达式等。如果用整型常量,需要再后面加上字母“L”;如果使用整形表达式需要用“(long)(表达式)”强制转换成长整形。

    起始位置
    指重新定位时的基准点,也就是基址,用整数或符合常量表示。如下表:
    整数 符号常量 对应的起始位置
    0 SEEK_SET 文件开头
    1 SEEK_CUR 文件指针的当前位置
    2 SEEK_END 文件末尾

    例如:
    fseek(fp , 10L , 0) ;

    具体代码如下:

    #include <stdio.h>
    void main()
    {	
    	FILE *fp;
    	char filename[40]  ;
    	int i,j ;
        float da[6][5] = {0} ;
        printf(" 输入文件名: ");
        gets(filename);
        fp=fopen(filename,"r");     // fp指针指向文件头部
        for(i = 0 ;i < 6 ; i++)
            for(j = 0 ;j < 5 ; j++)
            {
    			fscanf(fp,"%f",&da[i][j]);
    			fseek(fp, 5L, SEEK_CUR);   /*fp指针从当前位置向后移动*/
    		}
               
        for(i = 0 ;i < 6 ; i++)
            printf("%f\t%f\t%f\t%f\t%f\t\n",da[i][0],
             da[i][1],da[i][2],da[i][3],da[i][4]);
    }
    

    运行结果

    运行结果


    十分抱歉,由于个人疏忽,代码给大家带来麻烦,再次表示抱歉。以上读Excel文件的错误已经解决,代码已经更新,错误的产生是由于fseek( )函数放错了位置,以及其中第二个参数的偏移量的错误,若大家在以后学习中发现读取数据全为0或者读取数据顺序位置不正确,请查阅fseek( )函数的参数使用方法。

    另外,上述开发是在CodeBlocks中进行的,如果使用Visual Stdio 2010等版本软件,出现闪退问题,是软件自身bug所致,在main( )函数结尾添加"system(“pause”); 或者getchar( ); " 即可解决,对应的VS2010读Excel实例如下:


    例程:
    这里写图片描述

    读该Excel文件代码如下:

    #include <stdio.h>
    void main()
    {   
        FILE *fp;
        char filename[40]  ;
        int i,j ;
        float da[6][5] = {0} ;
        printf(" 输入文件名: ");
        gets(filename);
        fp=fopen("as.csv","r");
        fseek(fp, 5L, SEEK_SET);   // 从文件第二行开始读取
        for(i = 0 ;i < 6 ; i++)
            for(j = 0 ;j < 5 ; j++)
    		{
    			fscanf(fp,"%f",&da[i][j]);
    			fseek(fp, 1L, SEEK_CUR);   /*fp指针从当前位置向后移动*/
    		}
               
    	for(i = 0 ;i < 6 ; i++)
            printf("%f\t%f\t%f\t%f\t%f\t\n",da[i][0],
             da[i][1],da[i][2],da[i][3],da[i][4]);
    
    	getchar() ;
    }
    

    VS2010工程如下:
    这里写图片描述

    运行结果:
    这里写图片描述

    三、最新补充 2018.08.28


    由于经常有朋友告诉我运行结果是0 ,并将他们的工程发到我邮箱,我试着运行了下,确实发现是0.0 ,程序没有报错。
    然后,我试着将他们发给我的工程里的excel文件或者csv文件打开,发现会弹出提示文件损坏,如果我点击“是”的话,文件同样可以继续打开,这可能是文件格式损坏了,所以程序计算不了数据的位置。我简单的将他们的excel文件重新另存为了一个excel,便运行成功了。他们的excel问题如下图。
    Excel损坏
    损坏后还可以打开:
    损坏

    谢谢! 有问题可以,一起讨论下,不过希望自己能够一步从简到繁的进行调试也是一种学习,希望不用直接把代码扔过来让给修改。

    展开全文
  • Python中文件读写,定位文件读写的指针会随着不断的读写移动。那额如何将读写指针进行移动到特定位置进行读写呢? 1.使用tell()函数来查看文件定位指针的位置 #1.创建文件,往文件里写入数据,注意W+是写读模式 fl...

    Python中文件读写,定位文件读写的指针会随着不断的读写移动。那额如何将读写指针进行移动到特定位置进行读写呢?

    1.使用tell()函数来查看文件定位指针的位置

    #1.创建文件,往文件里写入数据,注意W+是写读模式
    fl = open("test.doc",'w+')
    fl.write("this is a test,and this is good test")
    
    #2.直接读取文件
    content =fl.read(3)
    print(content)  #显示为空,因为写入文件后,操作文件的定位指针在文件末尾,所以为空
    
    #3.在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取
    print("文件指针的位置:",fl.tell()) 
     
    #结果时:36,即文件的末尾对应的位置

    2.使用seek()函数来定位读写

    seek() 方法用于移动文件读取指针到指定位置。seek(offset, whence)有2个参数:offset:偏移量,whence:方向。whence:是可选参数,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

    两个参数可以单独使用,两个参数一起使用定位更加精准

    '''mytest.txt文件内容如下:
    helllo,world
    hahhaahh
    jjjjjjj
    '''
    #测试seek()函数代码
    fi =open("mytest.txt","rb")  #python3将打开模式从r变成rb即可
    print("当前读写定位:",fi.tell())
    fi.seek(-3,2)
    print("当前读写定位:",fi.tell())
    print(fi.read())
    print("读取文件后的定位:",fi.tell())
    fi.seek(5,0) #回头开头,偏移量是5
    print(fi.readline())
    fi.close()
    
    ---------------------------------------
    当前读写定位: 0
    当前读写定位: 28
    b'jjj'
    读取文件后的定位: 31
    b'o,world\r\n'    #会将换行符等隐藏字符也会读取出来

    3.文件/目录的常用管理操作

    • 在 终端 / 文件浏览器、 中可以执行常规的 文件 / 目录 管理操作,例如:
      • 创建、重命名、删除、改变路径、查看目录内容、……
    • 在 Python 中,如果希望通过程序实现上述功能,需要导入 os 模块

    文件操作

    序号 方法名 说明 示例
    01 rename 重命名文件 os.rename(源文件名, 目标文件名)
    02 remove 删除文件 os.remove(文件名)

    目录操作

    序号 方法名 说明 示例
    01 listdir 目录列表 os.listdir(目录名)
    02 mkdir 创建目录 os.mkdir(目录名)
    03 rmdir 删除目录 os.rmdir(目录名)
    04 getcwd 获取当前目录 os.getcwd()
    05 chdir 修改工作目录 os.chdir(目标目录)
    06 path.isdir 判断是否是文件 os.path.isdir(文件路径)

    提示:文件或者目录操作都支持 相对路径 和 绝对路径

    1.os模块中的rename()可以完成对文件的重命名操作,rename(oldfile_name,newfile_name)

    import  os  #要先导入包,OS包里才有重命名和杀出文件的方法
    file1 = open("文件夹1","w") #新建文件
    file1.close() #要将文件操作流关闭,否则报错,不能同时操作
    os.rename("文件夹1","文件夹2")  

    2.os模块中的remove()可以完成对文件的删除操作:remove(待删除的文件名)

    import  os
    os.remove("文件夹2") #如无报错

    4.关于文件夹的操作

    Python中就像对文件操作需要os模块一样,如果要操作文件夹,同样需要导入os模块,调用其中的方法即可

    import  os
    #os.mkdir("hello")  #创建目录hello,如果存在报错
    print(os.getcwd())  #获取当前目录os.getcwd()
    print(os.listdir("./")) #获取目录下的文件列表
    os.rmdir("file_demo")  #删除目录
    -----------------------------------
    D:\pythoyworkspace\file_demo
    ['file_copy.py', 'file_demo', 'file_demo.py', 'file_demo2.py', 'hello', 'mtst.txt', 'mytest.txt', 'mytest1.txt', 'seek_Demo.py', 'sfds.py', 'test.doc']
    

    统一声明:关于原创博客内容,可能会有部分内容参考自互联网,如有原创链接会声明引用;如找不到原创链接,在此声明如有侵权请联系删除哈。关于转载博客,如有原创链接会声明;如找不到原创链接,在此声明如有侵权请联系删除哈。

    展开全文
  • c语言文件读写操作

    万次阅读 多人点赞 2019-03-20 20:15:35
    当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。若已有一个同名文件存在,则删除该文件,若无同名...

    文件的打开函数fopen()

    文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头。

    fopen(char *filename,char *type);

    其中filename是要打开文件的文件名指针,一般用双引号括起来的文件名表示,也可使用双反斜杠隔开的路径名。而type参数表示了对打开文件的操作方式。其可采用的操作方式如下: 方式 含义 “r” 打开,只读; “w” 打开,文件指针指到头,只写; “a” 打开,指向文件尾,在已存在文件中追加; “rb” 打开一个二进制文件,只读; “wb” 打开一个二进制文件,只写; “ab” 打开一个二进制文件,进行追加 ;“r+” 以读/写方式打开一个已存在的文件; “w+” 以读/写方式建立一个新的文本文件 ;“a+” 以读/写方式打开一个文件文件进行追加 ;“rb+” 以读/写方式打开一个二进制文件; “wb+” 以读/写方式建立一个新的二进制文件 ;“ab+” 以读/写方式打开一个二进制文件进行追加 ;当用fopen()成功的打开一个文件时,该函数将返回一个FILE指针,如果文件打开失败,将返回一个NULL指针。

    关闭文件函数fclose()

    文件操作完成后,必须要用fclose()函数进行关闭,这是因为对打开的文件进行写入时,若文件缓冲区的空间未被写入的内容填满,这些内容不会写到打开的文件中去而丢失。只有对打开的文件进行关闭操作时,停留在文件缓冲区的内容才能写到该文件中去,从而使文件完整。再者一旦关闭了文件,该文件对应的FILE结构将被释放,从而使关闭的文件得到保护,因为这时对该文件的存取操作将不会进行。文件的关闭也意味着释放了该文件的缓冲区。

    int fclose(FILE *stream);

    它表示该函数将关闭FILE指针对应的文件,并返回一个整数值。若成功地关闭了文件,则返回一个0值,否则返回一个非0值。

    int read(int handle, void *buf, int count);
    read()函数从handle(文件描述字)相连的文件中, 读取count个字节放到buf所指的缓冲区中, 返回值为实际所读字节数, 返回-1表示出错。返回0 表示文件结束。

    write()函数的调用格式为:
    int write(int handle, void *buf, int count);
    write()函数把count个字节从buf指向的缓冲区写入与handle相连的文件中, 返回值为实际写入的字节数。

    size_t fread( void *buffer, size_t size, size_t count, FILE *stream )
    buffer 是读取的数据存放的内存的指针(可以是数组,也可以是新开辟的空间,buffer就是一个索引)
    size 是每次读取的字节数
    count 是读取次数
    stream 是要读取的文件的指针

    size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

    其中,ptr:指向保存数据的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针 ; 函数返回写入数据的个数。

    fseek
    函数名: fseek
    功 能: 重定位流上的文件指针
    用 法: int fseek(FILE *stream, long offset, int fromwhere);
    描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字 节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
    返回值: 成功,返回0,否则返回其他值。
    fromwhere有三个可选值:SEEK_SET 开始 SEEK_CUR现在指针所指的位置 SEEK_END末尾

    ftell
    用于得到二进制文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。
    long ftell(FILE *stream);

    int fprintf(FILE *stream,char *format,variable-list)
    int fscanf(FILE *stream,char *format,variable-list)
    fprintf()则是向流指针指向的文件输出;fscanf()是从文件输入

    简单的例子:先读取文件内容,再向文件写数据

    #include "pch.h"
    #include <iostream>
    #include<stdio.h>
    #include<stdlib.h>
    
    using namespace std;
    int main()
    {
    	const char *filename ="test.txt";
    	FILE *fp;
    	//以追加读写的方式打开文件
    	fopen_s(&fp,"test.txt","ab+");
    	if (!fp) {
    		printf("open file %s failed!", filename);
    	}
    	//统计文件大小
    	fseek(fp,0,SEEK_END);  
    	int len = ftell(fp);
    	//若使用fseek,ftell统计文件大小,那么在获得大小后要将指针移回原来的位置,因为fseek会改变指针的位置
    	fseek(fp,0,0);  
    	//保存从文件中读去的数据
    	char buf[10000] = {0};
    	//读取文件
    	fread(buf,len,1,fp);
    	//关闭
    	fclose(fp); 
    	//重新打开,不然会写入失败,不知道为什么
    	fopen_s(&fp, "test.txt", "ab+"); 
    	cout << buf << endl;
    	//保存写入文件的内容
    	char writebuf[1024];
    	char ch = 0;
    	int i = 0;
    	//读取输入字符,以换行符结束
    	while ((ch=getchar())!='\n') {
    		writebuf[i++] = ch;
    	}
    	writebuf[i++] = '\n';
    	writebuf[i++] = '\0';
    	//向文件末尾添加数据
    	int flen=fwrite(writebuf,i,1,fp);
    	//关闭数据
    	fclose(fp);
    	return 0;
    }
    
    
    
    展开全文
  • C语言文件读写操作

    千次阅读 2020-10-25 15:58:33
    c语言文件读写操作 介绍了文件指针FILE的使用,文件读写操作的一般函数

    c语言文件读写操作

    一、文件指针File

    1.定义

    1. FILE类型是系统预先设定的一种结构体指针
    2. FILE* 指针作为文件句柄,是文件访问的唯一标识,它由fopen函数创建,fopen打开文件成功,则返回一个有效的FILE*指针,否则返回空指针NULL
    3. 定义方式
      FILE *fp=fopen(char *filename,char *mode);

      FILE *fp;
      fp=fopen(char *filename,char *mode);

      FILE * fopen(char* filename,char* mode)
      filename:文件名,如“students.txt”。 相对路径
      mode:打开方式(读写方式,文件类型)

    2.文件类型分类

    1. 文本文件:这类文件以文本的ASCII、UNICODE(万国码)等编码形式存储在计算机中。它是以"行"为基本结构的一种信息组织和存储方式。
    2. 二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。

    3.文件打开方式

    1. "r"正文文件只读方式打开。文件不存在,则打开失败
    2. "w"正文文件只写方式打开。若文件不存在,则建立文件;若文件存在,则删除文件内容,重建空文件
    3. "a"正文文件添加方式。文件不存在,则建立文件
    4. "r+ ":正文文件读写打开,文件不存在,则打开失败
    5. "w+ " :正文文件读写方式打开,文件不存在,则建立文件

    4.文件打开

    #include <stdio.h>
    int main()
    {
        FILE *fp; /*文件指针*/
        fp=fopen("member.txt","rb");
        if(fp==NULL)
            printf("提示:文件未能成功打开");
        else
            printf("提示:文件已经打开");
        return 0;
    } 
    

    Warning!
    使用fopen时,但凡含r字母的打开方式,一定要加判断,文件是否打开成功,否则程序不会报告错误,会运行下去。如:

    FILE *fr; 
    fr=fopen("abc.txt","r"); 
    if(fr==NULL){
    printf("File not open!/n"); 
    

    5.文件关闭

    fclose(FILE *fp)
    一般地,fclose(fp)应与fopen配对使用,特别是含有写方式的文件,若不关闭,可能会造成文件数据丢失。

    二、一般读写函数

    字符的读写函数:fgetc()函数和fputc()函数
    字符串的读写函数:fgets()函数和fputs()函数
    数据块的读写函数,主要针对二进制文件:fread()函数和fwrite()函数
    格式化的读写函数,主要针对文本文件:fscanf()函数和fprintf()函数

    字符串读写

    1、fputs()函数

    格式:fputs(s,fp);
    功能:用来将一个字符串写入指定的文本文件。
    其中,fp为文件指针,s可以是字符数组名,字符型指针变量或字符串常量。该函数的功能是将字符串s写入由fp指向的文件中,字符串末尾的‘\0’字符不允写入。
    返回值:执行成功,返回所写的最后一个字符;否则,返回EOF。

    //fputs
    
    #include <stdio.h>
    #include <stdlib.h>
    void main(){
        FILE *fp;
        char s[][15]={"BeiJing","ShangHai","GuangZhou","NanJing","HangZhou"};
        if((fp=fopen("c:\\1\\wenjiu3.txt","w"))==NULL)
        /*只能相应文件,创建不了文件夹,fopen()函数会寻找相应位置文件夹然后在其中创建所需文件。
        当没有所需文件夹的时候,系统会自动跳转到NULL!*/
        {
            printf("Cannot open the file,strike any key to exit!\n");
            getchar();
            exit(0);
        }
        for(int i=0;i<6;i++){
            fputs(s[i],fp);
            fputs("\n",fp);
        }
        fclose(fp);
    }//输出在文件中的第六行,会出现“'jb”这个字符串
    

    2、fgets()函数

    格式:fgets(s,n,fp);

    功能:用于从指定的文件中读一个字符串到字符数组中。

    其中,s可以是字符型数组名或字符串指针,n是指定读入的字符个数;fp为文件指针。n是一个正整数,表示从文件中最多读取n-1个字符,并将字符串指针s定位在读入的字符串首地址。fgets()函数从文件中读取字符直到遇到回车符或EOF为止,函数会在最后一个字符后加上字符串结束标志’\0’;若有EOF,则不予保留。

    返回值:该函数如果执行成功,返回读取字符串;如果失败,则返回空指针NULL,这时,s中的内容不确定。

    //fgets()函数
    
    #include <stdio.h>
    #include <stdlib.h>
    void main(){
        FILE *fp;
        char s[6][15];
        if((fp=fopen("c:\\1\\wenjiu3.txt","r"))==NULL){
            printf("Cannot open the file,strike any key to exit!\n");
            getchar();
            exit(0);
        }
        for(int i=0;i<6;i++){
            fgets(s[i],15,fp);
            if(i%2==0)
                printf("%s",s[i]);
        }
        fclose(fp);
    }
    

    格式化读写

    1.fprintf()函数

    格式:fprintf(fp, format, arg1, arg2,….,argn);

    功能:fprintf()用来将输出项按指定的格式写入指定的文本文件中,其中格式化规定与printf()函数功能相似,所不同的只是fprintf()函数是将输出的内容写入文件中,而printf()函数则是在屏幕输出。

    其中,fp为文件指针,format为指定的格式控制字符串;arg1~argn为输出项,可以是字符、 字符串或各种类型的数值。该函数的功能是按格式控制字符串format给定的格式,将输出项arg1,arg2,……,argn的值写入fp所指向的文件中。

    返回值:如果函数执行成功,返回实际写入文件的字符个数;若出现错误,返回负数。

    fprintf()中格式控制的使用与printf()相同。
    例如:fprintf(fp,”r=%f,area=%f\n”,r,area);

    //fprintf()函数
    
    #include <stdio.h>
    #include <stdlib.h>
    void main(){
        FILE *fp;
        int data[1000];
        for(int i=0;i<1000;i++)
            data[i]=(rand()%1000);//产生0~999的随机整数
        if((fp=fopen("c:\\1\\wenjiu5.txt","w"))==NULL){
            printf("Cannot open the file,strike any key to exit!\n");
            getchar();
            exit(0);
        }
        for(i=0;i<1000;i++){
            if(i%20==0)
                fprintf(fp,"\n%5d",data[i]);
            else
                fprintf(fp,",%5d",data[i]);
            if((i+1)%20==0)
                fprintf(fp,"\n");
        }
        fclose(fp);
    
    }
    

    2、fscanf()函数

    格式:fscanf(fp,format,arg1,arg2,……,argn);

    功能:fscanf()用来按规定的格式从指定的文本文件中读取数据。它与scanf()函数的功能相似,都是按规定的格式读数据的函数,只是fscanf()函数读的对象不是键盘区,而是文件。

    其中,fp为文件指针,format为指定的格式控制字符串;arg1~argn为输入项的地址。该函数的功能是从文件指针fp所指的文本文件中读取数据,按格式控制字符串format给定的格式赋予输入项arg1,arg2,……,argn中。

    返回值:如果该函数执行成功,返回读取项目个数;如果遇到文件末尾,返回EOF;如果赋值失败,返回0.

    fscanf()中格式控制的使用与scanf()相同。
    例如:fprintf(fp,”%d,%d\n”,&a,&b);

    //fscanf()函数
    
    #include <stdio.h>
    #include <stdlib.h>
    void main(){
        FILE *fp;
        int data[1000];
        if((fp=fopen("c:\\1\\wenjiu5.txt","r+"))==NULL){
            printf("Cannot open the file,strike any key to exit!\n");
            getchar();
            exit(0);
        }
        for(int i=0;i<1000;i++){
            if(i%20==0)
                fscanf(fp,"\n%5d",&data[i]);
            else
                fscanf(fp,",%5d",&data[i]);
        }
        fseek(fp,0,SEEK_END);
        fprintf(fp,"\n\n");
        int j=0;
        for(i=0;i<1000;i++){
            {
                if(data[i]%7==0)
                {
                    if(j%20==0)
                        fprintf(fp,"%5d",data[i]);
                    if((j+1)%20==0) fprintf(fp,"\n");
                    j++;
                }
            }
            fclose(fp);
        }
    }
    

    结语

    第一次发表博客,还有点小激动,虽然不是原创,从网上几篇文章整理的,就是复习了一下c语言文字文件读写操作,也供自己以后回顾。

    展开全文
  • C++文件操作函数-读写文件

    千次阅读 2017-06-10 16:13:09
    文件读写是基础中的基础,关于此类知识的文章非常多,但还是想根据自己的使用心得去总结这么一些内容。 主要内容有:1.文件的打开和关闭;2.文件读写操作(包括二进制文件读写也介绍了一些)
  • C++对文件进行读写操作

    万次阅读 多人点赞 2017-11-17 16:53:13
    文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是: Ifstream:表示读取文件流,使用的时候必须包含头文件“ifstream”; Ofstream:表示文件写入流,使用的时候必须包含...
  • c++文件读写操作

    万次阅读 多人点赞 2018-04-17 11:07:00
    近期适配几款游戏的数据,因为重复量太大,因此写一个对数据进行处理的程序,下面是整个...fstream提供了三个类,用来实现c++对文件操作文件的创建、读、写) ifstream -- 从已有的文件读入 ofstream -- 向...
  • Qt文本文件读写操作

    万次阅读 多人点赞 2017-12-28 11:34:06
    Qt文本的读写
  • python文件读写操作

    千次阅读 2020-02-02 13:10:52
    python文件读写操作 在编写较大的python程序时常需要保存自己输入或者运行的结果,所以一般情况下会进行新建文件写入内容的操作,今天我们就进行文件读写操作的讲解。学习来源于莫烦python教程 文件的写入...
  • 文件读写基本操作

    千次阅读 2020-09-07 19:18:04
    一、文件是计算机中数据持久化存储的表现形式 ...读写文件操作格式2: # 1、打开文件 file1 = open('demo.txt','w') # 2、操作文件 file1.write('hello world') # 3、关闭文件 file1.close() 1、打开文件:wi
  • C++文件读写操作详解

    万次阅读 多人点赞 2019-05-30 11:28:47
    在程序设计中,文件常用的操作...计算机上的文件其实是数据的集合,对文件读写其实是对数据的读写文件可以大致分为两种:文本文件和二进制文件。  1、文本文件:它的每一个字节存放的是一个ASCII码,代表...
  • OpenCV对csv文件读写操作

    千次阅读 2016-03-22 10:08:16
    在用opencv进行图片操作时,经常涉及到对矩阵的操作。由于本人常需要把矩阵进行本地保存和读取,如果直接用文件操作会比较麻烦,本文总结了以下对csv文件进行读写的操作。
  • C语言读写文件操作

    万次阅读 多人点赞 2018-12-28 20:05:11
    C语言中对于文件操作是通过指针来完成的,要注意,文件指针不是指向一段内存空间的,它实际上指向的是描述这个文件相关信息的一个文件结构体。 声明文件指针变量的形式为: FILE *file; 定义好一个文件指针...
  • ini文件读写操作

    千次阅读 2016-11-17 15:56:54
    ini文件读写操作
  • android文件操作——读写文件demo

    千次阅读 2017-05-08 17:13:43
    文件操作: public void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("data", Context.MODE_PRIVAT
  • lua文件读写操作

    万次阅读 2017-09-13 12:45:17
    --读取文件操作 local f = assert(io.open("config.txt",'r'))--[[r表示读取的权限(read),a表示追加(append),w表示写的权限(write),b表示打开二进制(binary)]] local string = f:read("*all")--[[*all表示...
  • C语言遍历windows目录 并对文件进行读写操作
  • Android中的文件读写操作是不可或缺的,每个应用都会涉及到读写操作。这里将读写操作分成了四个部分 assets文件夹中文件数据的读取 raw文件夹中的文件数据的读取 Android内部存储文件读写 Android外部存储文件的...
  • Java文件读写操作

    千次阅读 2018-08-02 11:23:25
    Java中I/O流对文件读写有很多种方法,在这里我主要介绍三种方式,供大家参考。 第一种方式:使用FileWriter和FileReader,对文件内容按字符读取,代码如下 String dir = "E:\\soft\\aaa\\a.txt"; File...
  • 21. Perl 文件操作-文件读写

    千次阅读 2019-08-27 16:03:27
    笔者说过, Perl 语言是非常删除处理文本的, 同样,perl 语言对文件读写方式也非常简单。 1 文件句柄 perl 程序通过文件句柄对文件进行文件读写 文件句柄相当于一个指针, 指向这个文件; 定义文件句柄有两种...
  • python 文件读写操作总结

    千次阅读 多人点赞 2020-01-12 23:07:11
    python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) f ...
  • C语言-文件读写操作

    千次阅读 2019-04-19 11:35:01
    即当读写一个文件时,可以不必关心文件的格式或结构。 2、文本文件和二进制文件: 计算机文件的存储,物理上都是二进制,所以文本文件与二进制文件的区别并不是物理上的, 而是逻辑上的。这两者只是在编码层次上有...
  • python里文件读写文件目录以及文件夹的操作

    万次阅读 多人点赞 2018-04-01 20:49:05
    给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存12345file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object....
  • HDFS文件读写操作

    万次阅读 2018-03-27 19:17:03
    HDFS读文件 客户端首先调用FileSystem对象的open方法打开文件,其实获取的是一个DistributedFileSystem的实例。 DistributedFileSystem通过调用RPC(远程过程调用)向namenode发起请求,获得文件的第一批block的位置...
  • C语言文件读写操作详解

    千次阅读 2016-03-24 14:28:35
    下面按文件的性质分类进行操作。针对文本文件和二进制文件的不同性质,对文本文件来说,可按字符读写或按字符串读写;对二进制文件来说,可进行成块的读写或格式化的读写。 1. 读写字符  C提供fgetc和fputc函数对...
  • python的文件读写操作

    千次阅读 多人点赞 2019-04-28 08:30:49
    Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一、I/O操作概述 I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出。这里的输入和输出是相对于内存来说的,Input Stream(输入...
  • C语言文件读写(1)-文本文件操作

    万次阅读 多人点赞 2020-06-30 12:40:09
    C语言文件读写-之文本文件读写
  • FileStorage 文件读写操作

    千次阅读 2017-11-20 17:37:30
    本片博客重点利用FileStorage 进行文件读写操作练习; 创建一个common.hpp文件,存放结构体 #ifndef common_hpp #define common_hpp #include #include #include #include typedef struct my_struct { int m...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 719,248
精华内容 287,699
关键字:

文件操作读写