【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )(二)

简介: 【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )(二)

二、文件写文本操作


文件写入文本步骤 :


① 打开文件 ;


② 向文件中写入文本数据 ;


③ 关闭文件 ;



fopen 函数用于打开文件 , 函数原型如下 ;


FILE *fopen(const char *filename, const char *mode);


const char *filename 参数 : 文件名 ;


const char *mode 参数 : 文件的打开方式 ;


w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ;

返回值 FILE 是个结构体 , 不同的操作系统 , FILE 结构体的内容不同 ;


#ifndef _FILE_DEFINED
  struct _iobuf {
    char *_ptr;
    int _cnt;
    char *_base;
    int _flag;
    int _file;
    int _charbuf;
    int _bufsiz;
    char *_tmpfname;
  };
  typedef struct _iobuf FILE;
#define _FILE_DEFINED



打开上述文件后 , 向文件内写入一些文本数据 , 然后关闭文件 ;


#include <stdio.h>
int main()
{
    // 打开一个文件 , 以写的方式
    // w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ;
    FILE *p = fopen("D:\\a.txt", "w");
    // 向文件中写入 Hello World ! 字符串
    fputs("Hello World !", p);
    // 关闭文件
    fclose(p);
    return 0;
}


执行完毕后 , 查看 D 盘下生成了 a.txt 文件 , 内容是 “Hello World” ;



image.png





三、命令行输入字符串并保存


命令行接收字符串 , 并输出到文件中 ;


#include <stdio.h>
#include <string.h>
int main()
{
    // 打开一个文件 , 以写的方式
    // w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ;
    FILE *p = fopen("D:\\a.txt", "w");
    // 从命令行中接收字符串的数组
    char s[1024] = {0};
    while(1){
        // 清空数组中的元素
        memset(s, 0, sizeof(s));
        get(s);
        // 如果用户输入 quit, 则退出循环
        if(strcmp(s, "quit") == 0){
            break;
        }
        // 计算 s 字符串长度
        int len = strlen(s);
        // 在 s 字符串后添加 \n 回车
        s[len] = '\n';
        fputs(s, p);
    }
    // 关闭文件
    fclose(p);
    printf("Process Exit!");
    return 0;
}


运行后 , 在命令行输入以下字符串 ,



image.png

生成的文件如下 :


image.png

目录
相关文章
|
11天前
|
C语言
C语言——文件操作
C语言——文件操作
23 2
C语言——文件操作
|
9天前
|
C语言
C语言实战项目——学生试卷分数统计
C语言实战项目——学生试卷分数统计
|
9天前
|
存储 程序员 编译器
文件操作(C语言)
文件操作(C语言)
|
21天前
|
存储 C语言 C++
【C语言基础】:文件操作详解(前篇:准备知识)
【C语言基础】:文件操作详解(前篇:准备知识)
|
21天前
|
C语言
【C语言基础】:文件操作详解(后篇)-2
【C语言基础】:文件操作详解(后篇)
|
21天前
|
存储 C语言
【C语言基础】:文件操作详解(后篇)-1
【C语言基础】:文件操作详解(后篇)
|
10天前
|
存储 C语言
【c语言】详解文件操作(二)
【c语言】详解文件操作(二)
14 0
|
10天前
|
存储 程序员 编译器
【c语言】详解文件操作(一)
【c语言】详解文件操作(一)
6 0
|
16天前
|
关系型数据库 MySQL 项目管理
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
|
16天前
|
安全 BI 数据库
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析