C语言常用文件操作

文件操作

#include <stdio.h>
#include <stdlib.h>


int main ()
{

    FILE *fp = NULL;
    char buff[255] = {5};

    printf("---\n");

    
    //打开文件
    /* FILE = fopen(filename,mode) */
    /* FILE : 读取文件指针。*/
    /* filename : 文件路径 */
    /* mode : 打开文件的方式,读写属性。 */
    fp = fopen("C:\\Users\\Dream-haohao\\Desktop\\test\\test.txt", "r");
    //fp = fopen("C:/Users/Dream-haohao/Desktop/test/test.txt", "w+")
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        return 0;
    }
    
    //读取文件
    /* ch = fgetc(FILE) */
    /* ch   : 读取值,返回读取值,文件最后标志为 EOF */
    /* FILE : 读取文件指针。*/
    //读取一个字符
    /* char ch;
    ch = fgetc(fp);
    printf("%#x\n",ch);
    ch = fgetc(fp);
    printf("%#x\n",ch); */
    //通过循环,全部读取
    /* char ch;
    char i = 0;
    while (EOF != (ch = fgetc(fp)))
    {
        printf("%x ",ch);
        i++;
        if (i>=15)
        {
            i = 0;
            printf("\n");
        }
        //printf("%c",ch);
    } */

    
    /* stat = fgets(str,leng,FILE) */
    /* stat : 读取状态,读取正常返回T;读取失败返回F;*/
    /* str  : 读取后自动存储在 str 数组中。*/
    /* leng : 读取长度,读取字节数。*/
    /* FILE : 读取文件指针。*/
    //读取一行字符
    /* char str[255];
    fgets(str,255+1,fp);
    printf("%s",str);
    fgets(str,255+1,fp);
    printf("%s",str); */
    //通过循环,全部读取
    /* char str[255];
    while (fgets(str,255+1,fp))
    {
        printf("%s",str);
    } */


    /* num = fread(str,size,leng,FILE) */
    /* num  : 读取状态,返回实际读取的大小数量。*/
    /* str  : 读取后自动存储在 str 数组中,数组类型应和size对应。*/
    /* size : 读取单元大小,以几个字节为单位读取。 */
    /* leng : 读取单元数量,读取多少个单元。*/
    /* FILE : 读取文件指针。*/
    /* 数组清零方式: */
    /* char str[255] = {0};         //清零 */
    /* memset(str,0,size(str));     //清零 */
    /* str[num] = '\0'; 字符串终结  //清零 */
    //多功能读函数
    /* char str[255];
    int num;
    num = fread(str,1,10,fp);
    str[num] = '\0';
    printf("%s\n",str); */
    /* char str[255] = {0};
    while (fread(str,1,1,fp))
    {
        printf("%s",str);
    } */
    

    //写入一个字符
    /* fputs("A", fp);
    fputs("B", fp);
    fputs("C", fp);
    fputs("This is testing for fputs...\n", fp); */

    //写入字符串
    /* char * str = "ABC";
    fprintf(fp, str);
    fprintf(fp, "This is testing for fprintf...\n"); */

    //多功能写函数
   /*  char * str = "ABC";
    fwrite(str,1,strlen(str),fp);

    int num = 5599;
    fwrite(&num,sizeof(num),1,fp); */


    //指针定位
    /* stat = fseek(FILE,offset,mode); */
    /* stat : 函数执行状态,成功返回零;不成功返回非零*/
    /* FILE : 文件指针。*/
    /* offset: 文件偏移数量,可以负数。*/
    /* mode  : SEEK_SET\CUR\END;开始位置、当前位置、结束位置*/
    /* fseek(fp,0,SEEK_SET); */


    //文件大小
    //文件指针重置到文件开头;
    /* rewind(fp);
    //文件指针偏移到末尾;
    fseek(fp,0,SEEK_END);
    //获取文件指针当前位置;
    int nsize = ftell(fp);
    printf("文件指针位置,文件的大小:%d\n",nsize); */


    //动态申请内存
    /* //申请内存
    char length;
    char * buffer = malloc(sizeof(char) * length + 1);
    //清空内存
    memset(buffer,0,length + 1);
    //释放内存
    free(buffer); */



    //关闭文件
    fclose(fp);

    printf("---\n");
    printf("hello\n");
//    system("pause");


    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值