12.文件

news2024/11/20 13:43:57

知识点一:文件的存取过程

缓冲区的目的:提高存储效率磁盘使用寿命

文件的存取过程

知识点二:磁盘文件分类

物理上所有的磁盘文件都是二进制存储,以字节为单位顺序存储

逻辑上的文件分类:

     文本文件:基于字符编码的文件,如ASCII、UNICODE等,可以文件编辑器直接打开

     二进制文件:基于值编码的文件,数据在内存原样输出到磁盘,需要自己判断或使用特定软件分析数据格式

总结:

    (1)译码:文件文件编码基于字符定长,译码容易些。二进制文件编码变长,译码难一些(不同二进制文件格式,有不同的译码方式)

    (2)空间利用率:二进制文件用一个比特来代表一个意思(位操作)。文本文件任何一个符号需要一个字节

    (3)可读性:文本文件用通用记事本根据几乎可以浏览所有文本文件。二进制文件需要一个具体的文件解码器

知识点三:文件指针

文件指针1
typedef struct
{
	short level;			//缓冲区“满”或“空”的程度
	unsigned flags;			//文件状态标志
	char fd;			//文件描述符
	unsigned char hold;		//如无缓冲区不读取字符
	short bsize;			//缓冲区大小
	unsigned char *buffer;	//数据缓冲区的位置
	unsigned char *curp;	//指针,当前的指向
	unsigned istemp;		//临时文件,指示器
	short token;			//用于有效性检查
}FILE;

注意:不要关心FILE的细节只需要会用FILE定义指针变量就行:FILE *fp=NULL;

C语言有三个特殊的文件指针无需定义,打开直接使用:

(1)stdin:标准输入 默认为当前终端(键盘)

    使用的scanf、getchar函数默认从此终端获得数据

(2)stdout:标准输出 默认为当前终端(屏幕)

    使用的printf、puts函数默认输出信息到此终端

(3)stderr:标准出错 默认当前终端(屏幕)

    当我们程序出错或使用:perror函数时信息打印在此终端

知识点四:打开一个文件

形式:
	file* fp = null;	//定义一个FILE类型的指针接收返回值
	fp = fopen(文件名,文件使用方式);
参数:
	文件名:要打开的文件名字,可以包含路径信息
	文件使用方式:“读”、“写”、“文本”或“二进制”等
返回值:成功返回相应指针,失败返回NULL

知识点五:文件使用方式

1、r:以只读方式打开文件

    文件不存在:返回NULL

    文件存在:返回文件指针,进行后续读操作

2、w:以只写方式打开文件

    文件不存在:以指定文件名创建此文件

    文件存在:清空文件内容,进行写操作

    若文件打不开(如文件只读),返回NULL

3、a:以追加的方式打开文件(往文件的末尾写入数据)

    文件不存在:以指定文件名创建此文件(同w)

    文件存在,从文件的结尾处进行写操作

4、+:以可读可写的方式打开

5、b:以二进制的方式打开文件

6、t:以文本的方式打开文件(省略)

知识点六:打开方式的组合形式

模式功能
r或rb以只读方式打开一个文本文件(不创建文件)
w或wb以写方式打开文件(使文件长度截断为0字节,创建一个文件)
a或ab以添加方式打开文件,即在末尾添加内容,当文件不存在时,创建文件用于写
r+或rb+以可读、可写的方式打开文件(不创建新文件)
w+或wb+以可读、可写的方式打开文件(使文件长度为0字节,创建一个文件)
a+或ab+以添加方式打开文件,打开文件并在未尾更改文件(如果文件不存在,则创建文件)

知识点七:关闭文件

形式:fclose(文件指针);	//文件指针:指向要关闭的文件
返回值:
    关闭文件成功,返回值为0
    关闭文件失败,返回值非零 

知识点八:文件的读写

1、字节读操作

ch = fgetc(fp);		//读一个字节
说明:从指定文件读一个字节赋给ch(以“读”或“读写”方式打开)
文件文件:读到结尾返回EOF
二进制文件:读到文件结尾,使用feof判断结尾

事先本地创建a.text

void test01()
{
    char buf[127]="";
    int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen("a.txt", "r") ;
    if(fp == NULL)
    {
        perror("fopen") ;
        return ;
    }
    //2、对文件的操作
    while(1)
    {
        //fgetc调用一次  读取到一个字节 
        buf[i] = fgetc(fp);
        if(buf[i] == EOF)//EOF表已经对到文件末尾
        {
            break ;
        }
        i++;
    }
    printf("buf = %s\n",buf);
    //3、 关闭文件
    fclose(fp);
}

2、字节写操作

形式:fputc(ch,fp);		//写一个字符
说明:把一个ch变量中的值(1个字节)写到指定文件
	如果输出成功,则返回输出的字节
	如果输出失败,则返回一个EOF
注意:EOF是在stdio.h文件中定义的符号常量,值为-1
void test01()
{
    char buf[127] = "";
    int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen("a.txt", "w") ;
    if(fp == NULL)
    {
        perror("fopen") ;
        return ;
    }
    //2、使用fputc进行文件的数据写入
    printf("请输入要写入文件的字符串:") ;
    fgets(buf,sizeof(buf),stdin) ;//会获取换行符
    buf[strlen(buf) - 1] = 0;//去掉键盘输入的换行符
    //将字符串buf中的元素逐个写入文件中
    while(buf[i] != '\0')
    {
        fputc(buf[i],fp);
        i++;
    }
    //3、 关闭文件
    fclose(fp);
}

3、字符串写操作

fputs("china",fp);		//写一个字符串
说明:
    向指定的文件写一个字符串
	第一个参数可以是字符串常量,字符串数组名或字符指针
	字符串末尾的'\0'不会写到文件中
void test01()
{
    char *buf[] = {"床前明月光\n","疑是地上霜\n"};
    int n = sizeof(buf)/sizeof(buf[0]);
    int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen("a.txt", "w");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    for(i = 0;i<n;i++)
    {
		fputs(buf[i],fp);
    } 
    //3、 关闭文件
    fclose(fp);
}

4、字符串读操作

获取文件一行的数据

形式:fgets(str,n,fp);		//读取一个字符串
说明:从fp指向的文件读入n-1个字符,在读入n-1个字符之前遇到换行符或EOF,读入提前结束,并读取换行符,在最后加一个'\0',str为存放数据的首地址
返回值:
	成功:返回读到字符串的首元素地址
	失败:返回NULL
void test01()
{
    char buf[128] = "";
    char *path = "a.txt";
    //int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"r");        //fp = fopen("a.txt","r");
    //fp = fopen("path","r");    //err打开一个文件名叫"path"而不是path指向的文件名"c. txt"
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
     while(1)
     {
         char *ret = NULL;         
         //从文件中读取一行数据 
         ret = fgets(buf,sizeof(buf),fp);
         if(ret == NULL)
         break;
         printf("%s\n",buf);
     }    
    //3、 关闭文件
    fclose(fp);
}

5、块读写

(1)fwrite数据块写操作

使用 fwrite 将数据块写入到文件中

形式:fwrite(buffer,size,count,fp);
参数说明:
	buffer:指向存储数据空间的首地址的指针
	size:一次写的数据块大小
	count:要写的数据块个数
	fp:指向要进行写操作的文件指针
返回值:实际写的数据块数(不是总数据大小)
typedef struct
{
    char name[16];	//姓名
    int deff;		//防御
    int atk;		//攻击
}HERO;
void test01()
{
    HERO hero[] = {{"德玛西亚",80,60},{"盲僧",90,80},{"小法", 40,85},{"小炮",50,90}};
    char *path = "a.txt";
    //int i = 0;
    int n = sizeof(hero)/sizeof(hero[0]);
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"w");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    //fwrite将内存的数据原样的输出到文件中
    //写入文件的数据不便于用户查看但是不会影响程序的读
     fwrite(hero,sizeof(HERO),n,fp);    
    //3、 关闭文件
    fclose(fp);
}

(2)fread数据块读操作

使用 fread 从文件中读取数据块

形式:fread(buffer,size,count,fp);
参数说明:
	buffer:指向存储数据空间的首地址的指针
	size:一次读的数据块大小
	count:要读的数据块个数
	fp:指向要进行读操作的文件指针
返回值:实际读的数据块数(不是总数据大小)
typedef struct
{
    char name[16];	//姓名
    int deff;		//防御
    int atk;		//攻击
}HERO;
void test01()
{
    HERO hero[4]= {""};
    char *path = "a.txt";
    int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"r");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    fread(hero,sizeof(HERO),4,fp);
    for(i=0;i<4; i++)
    {
        //printf(" 英雄姓名:《%s》,防御:%d》, 伤害:《%d》\n",hero[i].name,hero[i].deff,hero[i].atk);
        printf("英雄姓名:《%s》, 防御:《%d》,伤害:《%d》\n",(hero+i)->name,(hero+i)->deff,(hero+i)->atk);
    }    
    //3、 关闭文件
    fclose(fp);
}

6、格式化读操作

读:fprintf(文件指针,格式字符串,输出列表);
typedef struct
{
    char name[16];//姓名
    int deff;//防 御
    int atk;//攻击
}HERO;
void test01()
{
    HERO hero[]= {{"德玛西亚",80,60},{"盲僧",90,80},{"小法", 40,85},{"小炮",50,90}};
    char *path = "a.txt";
    int i = 0;
    int n = sizeof(hero)/sizeof(hero[0]);
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"w");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    for(i= 0;i<n;i++)
    {
        fprintf(fp,"英雄:%s 防御:%d 攻击:%d\n",hero[i].name,hero[i].deff,hero[i].atk);
    }        
    //3、 关闭文件
    fclose(fp);
}

7、格式化写操作

写:fscanf(文件指针,格式字符串,输入列表);
typedef struct
{
    char name[16];	//姓名
    int deff;		//防御
    int atk;		//攻击
}HERO;
void test01()
{
    HERO hero[4]= {""};
    char *path = "a.txt";
    int i = 0;
    //int n = sizeof(hero)/sizeof(hero[0]);
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"r");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    for(i= 0;i<4;i++)
    {
        fscanf(fp,"英雄:%s 防御:%d 攻击:%d\n", hero[i].name,&hero[i].deff,&hero[i].atk);
    }
    for(i=0; i<4; i ++)
    {
        printf("%s %d %d\n",hero[i].name,hero[i].deff,hero[i].atk);
    }
        
    //3、 关闭文件
    fclose(fp);
}

注意:

    (1)用fprintf和fscanf函数对磁盘文件读写使用方便,但在输入时要将ASCII码转换成二进制形式,在输出时将二进制形式转换成字符,花费时间较多

    (2)在内存与磁盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而用fread和fwrite函数

8、文件随机读写

void test01()
{
    char buf[128] ="";
    char *path = "a.txt";
    int i = 0;
    //int n = sizeof(hero)/sizeof(hero[0]);
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"w+");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    //先往文件中写入一个字符串"hello file"
    fputs("hello file",fp);
    fclose(fp);
    
    //重新打开文件让文件的流指针 回到文件首部
    fp = fopen(path,"r");
    //在从文件找那个读取该字符串    
    fgets(buf,sizeof(buf),fp);
    printf("buf = %s\n",buf);        
    //3、关闭文件
    fclose(fp);
}

     如果在写的步骤中没有关闭后再打开文件则会读取到右边等的情况

     所以需要文件写完后需要关闭文件然后重新打开文件,让文件流指针指向文件开始位置让变下次的文件读操作

结果

9、复位文件流指针

形式:rewind(文件指针);
功能;把文件内部的位置指针移到文件开始位置
void test01()
{
    char buf[128] ="";
    char *path = "a.txt";

    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"w+");
    if(fp == NULL)
    {
        perror("fopen");
        return;
    }
    //先往文件中写入一个字符串"hello file"
    fputs("hello file",fp);
    //复位文件流指针
    rewind(fp); 
    
    //在从文件找那个读取该字符串    
    fgets(buf,sizeof(buf),fp);
    printf("buf = %s\n",buf);        
    //3、 关闭文件
    fclose(fp);
}

10、获得文件流指针距离文件首部的字节数

形式:ftell(文件指针);
返回值:返回当前位置(距离文件起始位置的字节数),出错返回-1
void test01()
{
    char buf[128] = "";
    char *path = "a.txt";

    long file_len = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"w+");
    if(fp == NULL)
    {
        perror("fopen");
        return;
    }
    //先往文件中写入一个字符串"hello file"
    fputs("hello file",fp);
    //获取文件流指针距离文件首部的字节数
    file_len = ftell(fp);
    printf("file_len = %ld\n",file_len);            
    //3、关闭文件
    fclose(fp);
}

11、定位文件的流指针 fseek函数

形式:fseek(文件类型指针,位移量,起始点);	//一般用于二进制文件
功能:移动文件中位置指针的位置
参数说明:
    位移量:相对 起始点 的偏移量,向前、向后移动的字节数(-10往左边移动10字节,+10往右边移动10字节)
    起始点:开始添加偏移 位移量 的位置
    位置指针的位置说明:
        在文件开头:0		(SEEK_SET)
        在文件当前位置:1	(SEEK_CUR)
        在文件末尾:2		(SEEK_END)

一次性读取文件总数

void test01()
{
    char *file_data = NULL;
    long file_len = 0;
    char *path = "a.txt";

    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"r");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    //需求:一次性的将文件数据读取到内存中
    //1、得到文件的总大小
    //a、 使用 fseek 将文件指针定位到文件尾部
    fseek(fp,0,2);
    //b、使用 ftell 计算文件的偏移量==文件的总大小
    file_len = ftell(fp);
    //c、使用rewind复位文件流指针
    rewind(fp);
    //2、根据文件的总大小合理申请内存空间
    file_data = (char *)calloc(1,file_len+1);    //+1的目的 内存末尾存放'\0' 
    if(file_data == NULL)
    {
        fclose(fp);
        return;
    }
    //3、一次性将文件数据读入到内存空间
    fread(file_data,file_len,1,fp);
    //4、遍历读取到的文件内容
    printf("file_len = %ld\n",file_len);
    printf("%s\n",file_data);
    //5、释放堆区空间
    if(file_len != NULL)
    {
        free(file_len);
        file_len = NULL;
    }    
    // 关闭文件
    fclose(fp);
}

知识点九:feof()函数判断文件是否到达文件末尾

EOF宏:只能用于文本文文件

feof函数:可以用于文本文文件 二进制文件

判断文件是否结束:0:未结束,非0:表示结束

void test01()
{    
    char *path = "a.txt";
    int i = 0;
    FILE *fp = NULL;
    //1、 使用fopen打开一个文件获得文件指针
    fp = fopen(path,"r");
    if(fp == NULL)
    {
        perror("fopen");
        return ;
    }
    //feof(fp)判断文件是否结束 0:未结束,非 0:表示结束
    //while(feof(fp) == 0)//文件未结束才循环
    while( !feof(fp))
    {
        char ch = fgetc(fp);
        printf("%c",ch);
    }
    // 关闭文件
    fclose(fp);
}

知识点十:文件加密器

加密过程:

加密过程

解密过程:

解密过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1811233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

04. fastLED像素参考(颜色设置详解)

fastLED像素参考 原文 Overview 概述 There’s two main pixel types in the library - the CRGB class and the CHSV class. CHSV objects have to be converted to CRGB objects before they can be written out. You can also write CHSV objects into the CRGB array an…

QT6 学生管理系统以及登录(QSQLITE数据库)

一、准备工具以及环境 本文采用的是QT Creator6.5.3版本&#xff0c;代码基于C语言&#xff0c;文中所用到的数据库是QSQLITE库。 因为做的是一个简单的学生管理系统&#xff0c;所以只是做到了简单的对数据库进行增删改查等操作&#xff0c;以及一个简单的登录界面。 二、U…

wgcloud可以监测交换机的哪些数据

WGCLOUD可以监测交换机的cpu&#xff0c;内存&#xff0c;温度&#xff0c;电压&#xff0c;磁盘&#xff0c;流量传输速率等数据 WGCLOUD也是基于SNMP协议来监测交换机的

进口自力式蒸汽减压阀-美国品牌

进口自力式蒸汽减压阀是一种用于蒸汽系统中&#xff0c;通过自身能量来调节和控制蒸汽压力的装置。以下是关于进口自力式蒸汽减压阀的详细回答&#xff1a; 定义与功能&#xff1a; 进口自力式蒸汽减压阀是一种无需外加能源&#xff0c;利用被调介质&#xff08;蒸汽&#xff…

每日一题——Python实现PAT乙级1104 天长地久(举一反三+思想解读+逐步优化)七千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试 点评 时间复杂度分析 空间复杂度分析 综合分析 我要更强 时间复杂度分…

VitePress+Docker+jenkins构建个人网站

VitePress官网 VitePress | 由 Vite 和 Vue 驱动的静态站点生成器 可以理解为一个前端脚手架:快速生成个人站点 最好先大概看一遍 快速开始 | VitePress 可以在线体验一下 安装条件 node -v 检查下node版本 在D盘创建一个文件夹 例如:VitePress 进入文件夹 cmd npm ini…

一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线

亚信安全联合鼎捷软件股份有限公司&#xff08;以下简称“鼎捷软件”&#xff09;正式推出“一键安全体检”服务。亚信安全网络安全专家将携手鼎捷软件数据安全专家&#xff0c;围绕企业的数智安全状况&#xff0c;进行问题探索与治愈、新问题预测与预警&#xff0c;在全面筛查…

一文入门vim

先来波快问快答。 第一个问题&#xff0c;vim是什么&#xff1f; vim就是一文本编辑器。 第二个问题&#xff0c;我们为什么要使用vim&#xff1f; 好像在终端中可选择使用的文本编辑器也不多&#xff08;其他有&#xff0c;但是相对而言vim用的比较广泛&#xff09; 第三…

外汇天眼:跟单社区or资金盘 几招教你快速识别

今年有不少外汇跟单社区伙同黑平台收割投资人跑路事件&#xff0c;应天眼老粉要求&#xff0c;今天写一篇与跟单社区相关的内容&#xff0c;教大家如何辨别正规的外汇跟单社区与资金盘诈骗。 相信做过几年外汇的人&#xff0c;应该对跟单社区多少有所耳闻。但外汇跟单社区究竟…

使用seq2seq架构实现英译法

seq2seq介绍 模型架构&#xff1a; Seq2Seq&#xff08;Sequence-to-Sequence&#xff09;模型是一种在自然语言处理&#xff08;NLP&#xff09;中广泛应用的架构&#xff0c;其核心思想是将一个序列作为输入&#xff0c;并输出另一个序列。这种模型特别适用于机器翻译、聊天…

文件IOoooo

1.1 文件路径 文件路径分为两种&#xff1a; 1、绝对路径&#xff1a;以C:、D:等盘符开头的&#xff0c;就是我们所说的绝对路径&#xff0c;根据它可以直接找到文件的具体位置。 2、相对路径&#xff1a;需要先指定一个目录作为基准目录&#xff0c;从基准目录出发&#xf…

【PowerDesigner】CDM生成PDM

目录 &#x1f30a;1. PowerDesigner简介 &#x1f30d;1.1 常用模型文件 &#x1f30d;1.2 PowerDesigner使用环境 &#x1f30a;2. CDM生成PDM ​​​​​​​&#x1f30a;3. 研究心得 &#x1f30a;1. PowerDesigner简介 &#x1f30d;1.1 常用模型文件 主要使用Pow…

肾合的秘密:长期出汗,身体在告诉你什么?

想象一下&#xff0c;我们的身体是一座繁茂的秘密花园&#xff0c;每一寸肌肤、每一个细胞都是花园里的一朵花、一片叶。汗水&#xff0c;则是这花园中无声的语言&#xff0c;它讲述着我们的健康与否&#xff0c;也揭示着身体内部的微妙变化。 在夏日阳光下&#xff0c;我们的身…

初识C++ · 反向迭代器简介

目录 前言 反向迭代器的实现 前言 继模拟实现了list和vector之后&#xff0c;我们对迭代器的印象也是加深了许多&#xff0c;但是我们实现的都是正向迭代器&#xff0c;还没有实现反向迭代器&#xff0c;那么为什么迟迟不实现呢&#xff1f;因为难吗&#xff1f;实际上还好。…

如何轻松解决自养号测评中的买家签收问题?

在当今日益繁荣的跨境电商领域&#xff0c;自养号测评已成为众多卖家提升销量与排名的关键策略。然而&#xff0c;在这条道路上&#xff0c;买家签收难题却像是一座难以逾越的山峰&#xff0c;让不少卖家感到困扰。本文将深入探讨如何巧妙攻克这一难题&#xff0c;为自养号测评…

Redis 持久化存储

一、简介 1、RDB redis默认的持久化存储方式&#xff0c;每隔一段时间将内存中的数据写入磁盘中。有手动触发和自动出发两种触发方式。 2、AOF AOF持久化将被执行的写命令记录到AOF文件的末尾&#xff0c;来记录数据发生的变化。Redis启动时&#xff0c;读取AOF文件中的命令并…

北航数据结构与程序设计第五次作业选填题复习

选填题考的很多都是基础概念&#xff0c;对于巩固复习一些仡佬拐角的知识点是很有用的。非北航学生也可以来看看这些题&#xff0c;这一节主要是树方面的习题&#xff1a; 一、 我们首先需要知道一个公式 这是证明&#xff1a; 知道了这个公式&#xff0c;我们把题目中的数据…

Java面试八股之构造方法有哪些特性

构造方法有哪些特性 方法名与类名相同&#xff1a;构造方法的名称必须与它所在的类名称完全相同&#xff0c;包括大小写。 无返回类型&#xff1a;构造方法没有返回类型声明&#xff0c;连void也不需要。虽然没有明确的返回类型&#xff0c;但它隐式地返回了新创建的实例的引…

日本麻将基本规则和基本术语以及役种讲解

基本规则 无役无法和牌 “役”是特定牌的组合&#xff0c;不满足任何役是无法和牌的,关于役在后面会进行深入的讲解 和牌条件 满足和牌牌型有役荣和时不能振听 和牌牌型 ABC*xAAA*yDD,一般的和牌牌型,x组顺子和y组刻子加上一组对子(xy4)AA*7,特殊的和牌牌型,是一种役,名叫…

电线电缆单根燃烧试验 电缆垂直燃烧试验

电线电缆单根燃烧试验 电线电缆单根燃烧试验是一种用来评估电线电缆在受到火焰作用时的燃烧性能的测试方法。这种试验通常是将电线电缆垂直固定&#xff0c;然后使用特定的火焰源对其进行燃烧&#xff0c;以观察电线电缆的燃烧行为和燃烧速度。通过这个试验&#xff0c;可以评估…