1. 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);
【c中怎么写文件】功能为向打开的文件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;
}
2. c语言写入文件方法 程序注意的一点,二进制和文本形式的读取区别你需要巩固,读的文件就不要以读写形式打开,养成一个好的习惯 。
另外一个不太重要的一点,id确实很少作为int类型的,因为有些id会很长,比如10位20位,这样int就存不下了,而用char数组存的话只需要10个字节20个字节就能存下,对于每一位也好比较 。
#include <stdio.h>
#include <stdlib.h>
typedef struct student
{
int unsigned id;
float score [3];
float rank;
}Student;
int main ()
- 那一刻作文怎么写
- 更换报告怎么写
- 请假的英文怎么写
- 短袜的袜怎么写
- 交通协议书怎么写
- 体的音节怎么写
- 鹏的草书怎么写
- 晓字毛笔字怎么写
- 个人自传怎么写 个人自传怎么写好看
- 普通发票怎么开 普通发票怎么开明细