1. c写文件的几种模式
文件文件的分类:按照用户角度分:①设备文件:如显示器(printf)标准输出文件;键盘(scanf)标准输入文件②普通文件:存放在磁等介质上的文件按照文件的逻辑结构上分:①记录文件(有定长记录、不定长记录两种)②流式文件(由字符数据顺序组成如c语言程序)按照文件的编码方式:①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)②二进制文件(binary file)文件操作函数:一、文件的打开:文件指针名=fopen(“path\文件名”,“打开文件方式”)“文件打开方式”:rt-只读打开文本文件wt-只写打开文本文件at-追加打开文本文件,并在末尾写数据。
rb-只读打开二进制文件wb-只写打开二进制文件ab-追加打开二进制文件,并在末尾写数据。rt+-读写打开文本文件,允许读写wt+-读写打开或建立一个文本文件,允许读写。
at+-读写打开一个文本文件,允许读或在文件末尾追加数据。rb+-读写打开二进制文件,允许读写wb+-读写打开或建立一个二进制文件,允许读写。
ab+-读写打开一个二进制文件,允许读或在文件末尾追加数据。r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)例如:fp=fopen(“C.dat”,“w+b”)文件打开模式只有r、w、a、t、b、+、这六个字符拼成。
w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的文件)(即将 信息从程序写入磁盘中)a:用a打开对我文件只能向已存在的文件中追加信息①对于文本文件应注意:从程序中读入内存时,要将ASCII码转换成二进制码;而 把文件以文本形式写入磁盘时,要将二进制码转换为ASCII码。②fopen函数将返回一个文本文件结构的指针(该文件不存在时,返回NULL)文件的关闭:fclose(fp);(作用强制性将存放在缓中的未满的数据写入到磁盘中, 然后释放文件指针,使其真正写入磁盘中)fclose(fp);关闭成功时返回0,失败时返回EOR文件的读写:读字符函数— fgetc()调用格式:字符变量=fgetc(文件指针(fp));函数说明:读字符时,文件必须以“读”或者“读写”的方式打开读取的结果也可以不向字符变量赋值。
例如fgetc(fp)每读一个字符文件内部指针向前移动一个字符(文件内部指针不是文件指针,文件内部直镇不需要程序中定义说明由系统自动设置)返回值:fgetc(fp):成功时函数返回读入的一个字符,若读到文件尾时或者出错时,返回值为“EOF”。写字符函数—fputc()调用格式:fputc(字符量(常量或者变量),文件指针(fp))函数说明:写字符时,文件可以用“写”“读写”“追加”的方式打开文件写或者是读写的方式打开文件时,原有的内容将会被清除,从文件首部开始写入字符;若以追加的方式打开文件时,将在文件末尾开始写入字符。
函数的返回值:写入成功时,返回写入的字符;失败时,则会返回“EOF”每写入一个字符,“文件内部位置指针”向后移动一个字符读字符串函数—fgets()调用格式:fgets(字符数组名,n,文件指针(fp))函数说明:N是一个正整数,表示从文件中读取的字符串不超过N-1个字符。读入最后一个字符后加上字符串结束标志'\0'.读取过程中,遇到换行或者文件结束标志“EOF”(end of file)时,读取字符串结束。
写字符串函数—fputs()调用格式:fputs(字符串量,文件指针)(字符串量,即可是字符串变量(c中为字符数组),由可是字符串常量)函数说明:无///////////////////////////////////////////////////////////////--这部分有点小问题(程序运行不了)读数据块函数—fread()调用格式:fread(p,size,n,fp)函数说明:P:指向输入/输出数据块的首地址的指针Size:某类型数据存储空间的字节数(数据项大小)N:此次从文件中读取的数据项数Fp:文件指针变量写数据块函数—frite()调用格式:fread (p,size,n,fp)函数说明:P:指向输入/输出数据块的首地址的指针Size:某类型数据存储空间的字节数(数据项大小)N:此次从文件中读取的数据项数Fp:文件指针变量注意:fread、fwite函数在调用成功时,函数返回值为n的值,即输出的项数;如果失败,则返回(0)。
2. C语言怎么写到文件中
标准流程为:
1 通过fopen函数打开文件;
a) 原型
FILE * fopen(const char * path,const char * mode);
b) 参数
path为要打开的文件名,可以是绝对路径,也可以是相对路径。
mode为打开文件的方式。对于写文件,可以是"w", "wb", "w+", "wb+","a", "a+", "ab", "ab+"等。这些模式都可以支持写操作,区别为:
包含w的为直接写入,如果被打开的文件已存在,那么会对文件中的原始数据进行覆盖。
包含a的为附加模式,如果被打开文件已存在,那么新写入的内容会在文件结尾添加。
包含b的模式,打开的文件按照二进制方式进行写入。
包含+的模式,打开的文件为可读写。
无论哪种方式,如果原始文件不存在,则会创建该名字的新文件。
c) 返回值
返回值为FILE *型,是一个文件指针。后续所有操作均依赖这个文件指针值。
如果返回值为NULL,代表出错。常见的出错原因可能有
文件存在,操作者没有写权限。
对文件所在目录没有写权限。
文件所在磁盘分区已满。
2 通过fwrite/fprintf/fputc/fputs等函数写入数据;
a) size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
功能为向打开的文件stream中写入每块大小为size共计count块数据,数据的起始地址为buffer,返回实际写入的块数,出错时返回负值。
b) int fprintf (FILE* stream, const char*format, [argument]);
功能为向打开的文件stream中格式化输入数据,格式有format决定,后续参数为写入的数据,功能类似于printf。返回实际写入字符值,出错时返回负值。
c) int fputc (int c, FILE*fp);
功能为向打开的文件fp中写入字符c。该函数仅写入一个字符。参数c虽然为int型,但该函数仅使用其低八位。 返回值为输入参数c的ASCII码,出错时返回-1.
d) int fputs (const char *s, FILE *stream);
功能为向打开的文件stream写入字符串s(不包括结束符'\0')并增加一个换行符。即输入的内容在文件中是以一行的形式存在的。返回值为非负整数,出错时返回负值。
3 通过fclose函数关闭文件;
int fclose (FILE *stream);
关闭已打开的文件stream,如果成功返回0,否则返回负值。
以上所有函数调用时,都需要引用标准输入输出头文件stdio.h。
以下是一个简单的通过fwrite函数,向文件test.txt中写入一行测试字符串的样例代码。
#include <stdio.h>;//引入头文件
int main()
{
char *s = "this is a test string";//测试数据
FILE *fp = NULL;//文件指针
int ret;
fp = fopen("test.txt", "w");//以写入方式打开文件
if(fp == NULL)
{
printf("can not open file to write\n");
return -1;
}
ret = fwrite(s, sizeof(s), 1, fp);//写入数据
if(ret != 1)printf("write file error\n");//写文件出错提示
fclose(fp);//虽然fclose也有返回值,但很少失败,所以一般不需要检查返回值
return 0;
}
3. C里面怎么把读写文件呢
这个很简单呢,都看一看C文件读写的知bai识就知道了。
如下,给你举个例du子吧:[例] 向磁盘写入字符串,并写入文本文件test.txt: #i nclude
4. c语言头文件怎么写呀
C++/C程序的头文件以“.h”为后缀。
以下是假设名称为graphics.h的头文件:#ifndef GRAPHICS_H//作用:防止graphics.h被重复引用#define GRAPHICS_H#include<。.>//引用标准库的头文件。
#include"。"//引用非标准库的头文件。
void Function1(。);//全局函数声明。
inline();//inline函数的定义。classBox//作用:类结构声明{。
};#endif从以上例子可以看出,头文件一般由四部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)inline函数的定义;(4)函数和类结构声明等。在头文件中,用ifndef/define/endif结构产生预处理块,用#include格式来引用库的头文件。
头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。传统 C++:扩展资料:c语言头文件的作用:1、头文件可以定义所用的函数列表,方便查阅你可以调用的函数;2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。
3、头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。4、他并不是C自带的,可以不用。
5、调用了头文件,就等于赋予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。参考资料:百度百科——头文件。
5. c写文件的几种模式
文件文件的分类:按照用户角度分:①设备文件:如显示器(printf)标准输出文件;键盘(scanf)标准输入文件②普通文件:存放在磁等介质上的文件按照文件的逻辑结构上分:①记录文件(有定长记录、不定长记录两种)②流式文件(由字符数据顺序组成如c语言程序)按照文件的编码方式:①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)②二进制文件(binary file)文件操作函数:一、文件的打开:文件指针名=fopen(“path\文件名”,“打开文件方式”)“文件打开方式”:rt-只读打开文本文件wt-只写打开文本文件at-追加打开文本文件,并在末尾写数据。
rb-只读打开二进制文件wb-只写打开二进制文件ab-追加打开二进制文件,并在末尾写数据。rt+-读写打开文本文件,允许读写wt+-读写打开或建立一个文本文件,允许读写。
at+-读写打开一个文本文件,允许读或在文件末尾追加数据。rb+-读写打开二进制文件,允许读写wb+-读写打开或建立一个二进制文件,允许读写。
ab+-读写打开一个二进制文件,允许读或在文件末尾追加数据。r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)例如:fp=fopen(“C.dat”,“w+b”)文件打开模式只有r、w、a、t、b、+、这六个字符拼成。
w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的文件)(即将 信息从程序写入磁盘中)a:用a打开对我文件只能向已存在的文件中追加信息①对于文本文件应注意:从程序中读入内存时,要将ASCII码转换成二进制码;而 把文件以文本形式写入磁盘时,要将二进制码转换为ASCII码。②fopen函数将返回一个文本文件结构的指针(该文件不存在时,返回NULL)文件的关闭:fclose(fp);(作用强制性将存放在缓中的未满的数据写入到磁盘中, 然后释放文件指针,使其真正写入磁盘中)fclose(fp);关闭成功时返回0,失败时返回EOR文件的读写:读字符函数— fgetc()调用格式:字符变量=fgetc(文件指针(fp));函数说明:读字符时,文件必须以“读”或者“读写”的方式打开读取的结果也可以不向字符变量赋值。
例如fgetc(fp)每读一个字符文件内部指针向前移动一个字符(文件内部指针不是文件指针,文件内部直镇不需要程序中定义说明由系统自动设置)返回值:fgetc(fp):成功时函数返回读入的一个字符,若读到文件尾时或者出错时,返回值为“EOF”。写字符函数—fputc()调用格式:fputc(字符量(常量或者变量),文件指针(fp))函数说明:写字符时,文件可以用“写”“读写”“追加”的方式打开文件写或者是读写的方式打开文件时,原有的内容将会被清除,从文件首部开始写入字符;若以追加的方式打开文件时,将在文件末尾开始写入字符。
函数的返回值:写入成功时,返回写入的字符;失败时,则会返回“EOF”每写入一个字符,“文件内部位置指针”向后移动一个字符读字符串函数—fgets()调用格式:fgets(字符数组名,n,文件指针(fp))函数说明:N是一个正整数,表示从文件中读取的字符串不超过N-1个字符。读入最后一个字符后加上字符串结束标志'\0'.读取过程中,遇到换行或者文件结束标志“EOF”(end of file)时,读取字符串结束。
写字符串函数—fputs()调用格式:fputs(字符串量,文件指针)(字符串量,即可是字符串变量(c中为字符数组),由可是字符串常量)函数说明:无///////////////////////////////////////////////////////////////--这部分有点小问题(程序运行不了)读数据块函数—fread()调用格式:fread(p,size,n,fp)函数说明:P:指向输入/输出数据块的首地址的指针Size:某类型数据存储空间的字节数(数据项大小)N:此次从文件中读取的数据项数Fp:文件指针变量写数据块函数—frite()调用格式:fread (p,size,n,fp)函数说明:P:指向输入/输出数据块的首地址的指针Size:某类型数据存储空间的字节数(数据项大小)N:此次从文件中读取的数据项数Fp:文件指针变量注意:fread、fwite函数在调用成功时,函数返回值为n的值,即输出的项数;如果失败,则返回(0)。
6. c语言怎么将数据写入文件
可以使用C语言中的文件操作函数,将数据写入文件。具体如下
一、打开文件。
使用fopen函数。格式为:
FILE *fopen(const char *name, const char * mode);
其中name为要写入的文件名,mode为格式字符。要写入文件,mode可以是:
1、"w" 只写方式,文本形式输入;
2、"wb" 只写方式,二进制形式输入;
3、"wb+" 读写方式,二进制形式输入;
4、"w+" 读写方式,文本形式输入;
5、"a" 追加方式,写入文件结尾,文本形式输入;
6、"ab" 追加方式,写入文件结尾,二进制形式输入;
7、"ab+" 追加方式,可读写,写入文件结尾,二进制形式输入;
8、"a+" 追加方式,可读写,写入文件结尾,文本形式输入;
二、写入数据。
可以使用各种写入函数,向文件写入。 如打开的文件指针为fp,可以使用如下函数:
1、fputc, 写入一个字符。声明为:
int fputc(int ch, FILE *fp);
2、fputs, 写入一个字符串,声明为:
char * fputs(const char *str, FILE *fp);
3、fprintf,格式化写入,功能和printf类似。 声明为:
int fprintf(FILE *fp, const char *fmt, 。);
4、fwirte, 按块写入二进制数据,声明为:
int fwirte(char *buf, int block_size, int block_number, FILE *fp);
三、写入完毕后,调用fclose关闭文件:
int fclose(FILE *fp);
7. C语言如何写入文本文件
1、首先输入下方的代码
#include <stdio.h>
int main()
{
//下面是写数据,将数字0~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0};
FILE *fpRead=fopen("data.txt","r");
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
2、面是写入到txt后的截图:
3、下面是读取文件后打印数据到控制台的截图。