文件操作(c语言)

本关任务:给定程序的功能是:从键盘输入若干行文本(每行不超过 80 个字符),写到文件myfile4.txt中,用 -1(独立一行)作为字符串输入结束的标志。然后将文本的内容读出显示在屏幕上。文件的读写分别由自定义函数 readtext 和 writetext 实现。

相关知识

为了完成本关任务,你需要掌握:

文件的打开、关闭操作;

文件的读写操作。

编程要求

请再勿改动主函数 main 和其他函数中的任何内容,仅在程序的下划线处填入正确的内容并把下划线和数字删除,然后调试运行使程序得到正确的结果。不得增行或删行,也不得更改程序的结构。

测试说明

测试输入:

123

-1

测试输出:

Enter string with -1 to end :

Read file and output to screen :

123

//代码如下:

#include<iostream>

#include<algorithm>

#include<cstring>

using namespace std;

//函数声明

void writetext(FILE*);

void readtext(FILE*);

int main(){

//打开文件,写入模式

FILE*file=fopen("myfile4.txt","w");

if(file==NULL){

cout<<"写入文件失败"<<endl;

return -1;

}

//写入文件

writetext(file);

//关闭文件,装换文件操作模式

fclose(file);

//读取模式

file=fopen("myfile4.txt","r");

if(file==NULL){

cout<<"打开文件失败"<<endl;

return -1;

}

//读取文件内容,显示在屏幕上

cout<<"Enter string with -1 to end :"<<endl;

cout<<endl;

readtext(file);

//关闭文件

fclose(file);

return 0;

}

void writetext(FILE* file){

while(1){

//每一行不超过80字符

char buffer81;

//使用stdin标准输入模式,

//写入文件内容暂时存储在字符数组buffer sizeof(buffer)要读取的最大字符数量

if(fgets(buffer,sizeof(buffer),stdin)==NULL)

return;

//如果遇到-1就停止写入文件

if(strcmp(buffer,"-1\n")==0)

return;

//计算每一次写入文本长度

size_t length=strlen(buffer);

//buffer要写入文件的内容,sizeof(char)文本数据单元的大小,length要写入数据项的数量,file文件指针

fwrite(buffer,sizeof(char),length,file);

}

}

void readtext(FILE*file){

cout<<"Read file and output to screen :"<<endl;

while(1){

//将读取到的数据暂时存储在buffer中

char buffer80;

//读取模式,使用file文件指针

if(fgets(buffer,sizeof(buffer),file)==NULL)

return;

//查找换行符,转换\0

bufferstrcspn(buffer,"\\n")='\0';

//如果遇到-1就停止读取文件

if(strcmp(buffer,"-1")==0)

return;

cout<<buffer<<endl;

}

}

相关推荐
洋不写bug5 小时前
排序(一)基础排序,插入|希尔|冒泡|直接选择排序详解
java·算法·排序算法·插入排序·冒泡排序·希尔排序·直接选择排序
牧羊人.3335 小时前
动手学深度学习 03 | 卷积神经网络实现手写数字识别
人工智能·深度学习·神经网络·算法·cnn
AgentMaster5 小时前
数据治理工具选型指南:一套可复用的四阶段决策框架
大数据·数据结构·人工智能·算法
番茄灭世神5 小时前
汇顶模拟前端GH3220使用备忘录
c语言·单片机·传感器·模拟芯片·电生理信号处理
程序猿编码6 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
liliangcsdn6 小时前
最终留出样本/样本外测试集-holdout解读
算法
爱敲代码的小黄6 小时前
机器学习入门:从数据、训练到业务决策
算法
数据知道6 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法
haon11226 小时前
树模型在信贷风控怎么用——从决策树到 XGBoost
大数据·人工智能·算法·决策树·机器学习·数据挖掘
wordbaby6 小时前
BM25 是什么?手把手拆解搜索引擎的核心算法
人工智能·算法