c语言把字符串写入文件,c语言文件读写 | 按字符,按行,按块
按字符对文件读写
fopen(char *,r+):打开文件
fputc(“c”,FILE *fp):把字符写到fp文件中
tempc = fgetc(FILE *fp):从fp中获取一个字符串
feof(FILE *fp):若fp被读取完,则该函数返回1
fclose(FILE *fp):关闭文件
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
void main01_fputc()
{
int i = 0;
FILE *fp = NULL;
//char *filename = "c:\\1.txt";
char *filename2 = "c:/2.txt"; // 统一的用45度
char a[27]= "abcdefghijklmn";
fp = fopen(filename2, "r+");
if (fp == NULL)
{
printf("func fopen() err:%d \n");
return;
}
printf("打开成功\n");
for (i=0; i
{
fputc(a[i], fp);
}
fclose(fp);
return ;
}
void main02_fgetc()
{
int i = 0;
FILE *fp = NULL;
//char *filename = "c:\\1.txt";
char *filename2 = "c:/2.txt"; // 统一的用45度
char a[27]= "abcdefghijklmn";
fp = fopen(filename2, "r+"); //读和写方式
if (fp == NULL)
{
printf("func fopen() err:%d \n");
return;
}
printf("打开成功\n");
while (!feof(fp))
{
char tempc = fgetc(fp);
printf("%c", tempc);
}
if (fp != NULL)
{
fclose(fp);
}
return ;
}
void main11()
{
//main01_fputc();
main02_fgetc();
printf("hello...\n");
system("pause");
return ;
}
按行对文件读写
fopen(char *,r+):打开文件
fputs(“cffdfd”,FILE *fp):把字符串写到fp文件中
char *p = fgets(buf, 1024, fp):从fp中读取一行,放到buf中,且buf的首地址返回到p
feof(FILE *fp):若fp被读取完,则该函数返回1
fclose(FILE *fp):关闭文件
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
void main21_fputs()
{
int i = 0;
FILE *fp = NULL;
//char *filename = "c:\\1.txt";
char *filename2 = "c:/22.txt"; // 统一的用45度
char a[27]= "abcdefghijklmn";
//fp = fopen(filename2, "r+"); //读写的方式 打开文件 如果文件不存在 则报错
fp = fopen(filename2, "w+"); //读写的方式 打开文件 如果文件不存在 则报错
if (fp == NULL)
{
printf("func fopen() err:%d \n");
return;
}
printf("打开成功\n");
/*
for (i=0; i
{
fputc(a[i], fp);
}
*/
fputs(a, fp);
fclose(fp);
return ;
}
/*
char * myfgets(char *myp, int max, FILE *fp)
{
strcpy(myp, "aaaaaa");
return myp;
}
*/
void main22_fgets()
{
int i = 0;
FILE *fp = NULL;
//char *filename = "c:\\1.txt";
char *filename2 = "c:/22.txt"; // 统一的用45度
//char a[27]= "abcdefghijklmn";
char buf[1024];
fp = fopen(filename2, "r+"); //读和写方式
if (fp == NULL)
{
printf("func fopen() err:%d \n");
return;
}
printf("打开成功\n");
//1 //C 函数库 会 一行一行的copy数据 到buf指针所指的内存空间中 并且变成C风格的字符串
//2 把\n也copy到我们的buf中
//3 内存打包 (把内存首地址 + 内存的长度)
while (!feof(fp))
{
//_Check_return_opt_ _CRTIMP char * __cdecl fgets(_Out_z_cap_(_MaxCount) char * _Buf, _In_ int _MaxCount, _Inout_ FILE * _File);
char *p = fgets(buf, 1024, fp); //C 函数库 会 一行一行的copy数据 到buf指针所指的内存空间中 并且变成C风格的字符串
if (p == NULL)
{
goto End;
}
printf("%s", buf);
}
End:
if (fp != NULL)
{
fclose(fp);
}
return ;
}
void main2211()
{
//main21_fputs();
main22_fgets();
printf("hello...\n");
system("pause");
return ;
}
按块对文件读写
fopen(char ,r+):打开文件
myN = fwrite( char &tArray[i],sizeof(Teacher) , 1, fp);
myN = fread(&tArray[i], sizeof(Teacher), 1, fp);
//myN表示写入成功的次数
//参数1:写入buf的地址
//参数2:写入buf的长度
//参数3:按几次写入
//参数4:写入的文件
feof(FILE *fp):若fp被读取完,则该函数返回1
fclose(FILE *fp):关闭文件
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
//直接把内存数据 写入到 文件中
typedef struct Teacher
{
char name[64];
int age ;
}Teacher;
void main_fwrite()
{
int i = 0;
FILE *fp = NULL;
char *fileName = "c:/3.data";
Teacher tArray[3];
int myN = 0;
for (i=0; i<3; i++)
{
sprintf(tArray[i].name, "%d%d%d", i+1, i+1, i+1);
tArray[i].age = i + 31;
}
fp = fopen(fileName, "wb");
if (fp == NULL)
{
printf("建立文件失败\n");
return ;
}
for (i=0; i<3; i++)
{
//_Check_return_opt_ _CRTIMP size_t __cdecl
// fwrite(_In_count_x_(_Size*_Count) const void * _Str, _In_ size_t _Size, _In_ size_t _Count, _Inout_ FILE * _File);
//函数参数
//_Str : 从内存块的开始
//_Size //内存打包技术
//_Count 写多少次
//_File : 写入到 文件指针 所指向的文件中
//函数的返回值
myN = fwrite( &tArray[i],sizeof(Teacher) , 1, fp);
//myN 判断 有没有写满 磁盘
}
if (fp != NULL)
{
fclose(fp);
}
}
void main_fread()
{
int i = 0;
FILE *fp = NULL;
char *fileName = "c:/3.data";
Teacher tArray[3];
int myN = 0;
fp = fopen(fileName, "r+b");
if (fp == NULL)
{
printf("建立文件失败\n");
return ;
}
for (i=0; i<3; i++)
{
//_Check_return_opt_ _CRTIMP size_t __cdecl
// fread(_Out_bytecap_x_(_ElementSize*_Count) void * _DstBuf, _In_ size_t _ElementSize, _In_ size_t _Count, _Inout_ FILE * _File);
myN = fread(&tArray[i], sizeof(Teacher), 1, fp);
//函数的返回值
//myN = fwrite( &tArray[i],sizeof(Teacher) , 1, fp);
//myN 判断 有没有写满 磁盘
}
for (i=0; i<3; i++)
{
//sprintf(tArray[i].name, "%d%d%d", i+1, i+1, i+1);
//tArray[i].age = i + 31;
printf("name:%s, age:%d \n", tArray[i].name, tArray[i].age);
}
if (fp != NULL)
{
fclose(fp);
}
}
void main()
{
//main_fwrite();
main_fread();
printf("hello...\n");
system("pause");
return ;
}
c语言把字符串写入文件,c语言文件读写 | 按字符,按行,按块相关推荐
- c语言将字符串写入文件
代码如下: FILE *fp; char ch; if((fp=fopen("file.txt","a+"))==NULL) { ...
- C语言去掉字符串首尾空格,C语言实现去除字符串首尾空格
C语言实现去除字符串首尾空格 2019年09月28日 | 萬仟网IT编程 | 我要评论 /* C语言去除字符串首尾空格,trim()函数实现 https://blog.csdn.net/u013022 ...
- c语言中字符串型文件名,C语言中变量名的命名规则
1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行.要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字符串的位置 在程序 ...
- c语言ip字符串转为数组,C语言 ip地址转换为单个数字
今天遇到一个面试测试题,如下 请写一段代码,可以将输入为"0.0.0.0"-"255.255.255.255"的字符串转换为int型整数数组. 输入:" ...
- php语言查找字符串是否存在,PHP语言查找字符串是否存在的方法
这里整理了PHP语言查找字符串是否存在的方法,如果你想了解PHP语言查找字符串是否存在的方法,可以查看以下PHP语言查找字符串是否存在的方法详解. PHP语言查找字符串是否存在的方法一:采用in_ar ...
- 易语言高级表格写入MYSQL_易语言数据库与高级表格思路分析.doc
易语言数据库与高级表格思路分析 篇一:易语言数据库操作指南 易语言数据库操作指南 一.易语言操作Access数据库 前面我们已经对比分析过易语言所支持的几种常见数据库,在这几种数据库中,我们先来学习一 ...
- C语言用字符串sex储存,C语言必须要记住的经典程序
原标题:C语言必须要记住的经典程序 1./*判断101-200之间有多少个素数,并输出所有素数及素数的个数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此 ...
- c语言找字符串的位置,C语言开发中查找字符串位置的方法
C语言开发中,我们可以使用strstr函数找到字符串,程序员在这个时候要怎么操作呢?别着急,今天是爱站技术频道小编为大家介绍的C语言开发中查找字符串位置的方法,一起参考看看吧! C语言strchr() ...
- c语言相邻字符串字面量,C语言预处理#运算符的细节
#运算符将宏的一个参数转换为字符串字面量,它仅允许出现在带参数的宏的替换列表中. 例如:使用PRINT_INT宏作为一个快捷的方法来整形变量或者表达式的值,#运算符可以使PRINT_INT为每个输出的 ...
最新文章
- 微信小程序发送模板消息,php发送模板消息
- 吴恩达Deeplearning.ai国庆节上新:生成对抗网络(GAN)专项课程
- Leetcode每日一题:86.partition-list(分割列表)
- OkHttp3源码详解(五) okhttp连接池复用机制
- python 爬虫性能_python-爬虫性能相关
- Python入门深度学习完整指南
- Linux教程+操作系统教程
- 路由交换的一些常见知识点总结
- 【Matlab绘图】plot3函数绘制三维点或线图
- php yar swoole 比较,Hprose 和 Yar 的性能比较
- 渗透测试国内外研究_《混凝土与水泥制品》2020第8期——“混凝土研究”栏目...
- Python使用rawpy获取相机图像的原始RAW数据
- 高数:第四章(同济大学第七版)
- Julia(一)--Julia变量
- 转 java中的session
- liunx下rdesktop无法使用,安装remmina
- 离散数学 第十六章 环和域
- python发送文件到指定的邮箱_怎么用qq邮箱发文件-用python发送139邮箱电子邮件和短信通知,让你不再错过重要信息...
- pycharm安装python_pycharm如何安装numpy
- android分享到微博客户端,开发一个Android微博客户端+Web后台
热门文章
- origin对独立曲线进行操作
- matlab使用tic 和 toc记录程序执行时间
- 准确实用,7个优秀的开源中文分词库推荐
- 解释一下全连接层CNN中全连接层是什么样的
- CustomValidator,客户端,服务器端验证
- ASP.NET企业开发框架IsLine FrameWork系列之二--命名空间与契约
- python中用来回溯异常的模块_Python_10-异常处理
- Matlab--m代码转C与C++代码)1(简单示例涉及到函数调用)
- Opencv--仿射变换+投射变换+单应性矩阵
- Python range() 函数用法