Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
code_shenbing
cpp_14_file
提交
1b4e42c3
C
cpp_14_file
项目概览
code_shenbing
/
cpp_14_file
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cpp_14_file
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1b4e42c3
编写于
4月 09, 2023
作者:
W
wsb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
封装文件操作类
上级
96ad613d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
169 addition
and
1 deletion
+169
-1
CMakeLists.txt
CMakeLists.txt
+1
-1
fileReadWrite.cpp
fileReadWrite.cpp
+127
-0
fileReadWrite.h
fileReadWrite.h
+41
-0
未找到文件。
CMakeLists.txt
浏览文件 @
1b4e42c3
...
...
@@ -3,4 +3,4 @@ project(cpp_14_file)
set
(
CMAKE_CXX_STANDARD 11
)
add_executable
(
cpp_14_file main.cpp
)
add_executable
(
cpp_14_file main.cpp
fileReadWrite.cpp fileReadWrite.h
)
fileReadWrite.cpp
0 → 100644
浏览文件 @
1b4e42c3
//
// Created by 11010 on 2023/4/9.
//
#include "fileReadWrite.h"
#include "io.h"
//空构造方法
fileReadWrite
::
fileReadWrite
()
{
this
->
filePath
=
""
;
cout
<<
"路径为空,请设置文件路径"
<<
endl
;
}
fileReadWrite
::
fileReadWrite
(
string
path
)
:
filePath
(
path
)
{
if
(
path
.
length
()
==
0
)
cout
<<
"文件路径为空!"
;
}
fileReadWrite
::
fileReadWrite
(
string
path
,
ofstream
*
writeStream
)
:
filePath
(
path
),
writeStream
(
writeStream
)
{
if
(
path
.
length
()
==
0
)
cout
<<
"文件路径为空!"
;
}
fileReadWrite
::
fileReadWrite
(
string
path
,
ofstream
*
writeStream
,
ifstream
*
readStream
)
:
filePath
(
path
),
writeStream
(
writeStream
),
readStream
(
readStream
)
{
if
(
path
.
length
()
==
0
)
cout
<<
"文件路径为空!"
;
}
void
fileReadWrite
::
openFile
(
fileReadWrite
::
model
model
,
bool
display
)
{
char
c
[
100
];
//保存控制台输入,最大字数不超过100个
//路径为空,给出提示结束函数运行
if
(
filePath
.
empty
())
{
cout
<<
"文件路径为空!"
<<
endl
;
return
;
}
if
(
writeStream
==
nullptr
){
cout
<<
"写入对象为空,没有被初始化!"
<<
endl
;
return
;
}
if
(
readStream
==
nullptr
){
cout
<<
"读取对象为空,没有被初始化!"
<<
endl
;
return
;
}
if
(
ReadWriteStream
==
nullptr
){
cout
<<
"读写对象为空,没有被初始化!"
<<
endl
;
return
;
}
switch
(
model
)
{
//如果是写文件
case
write
:
writeStream
->
open
(
filePath
,
ios
::
app
);
//所有文件读追加到末尾
//从控制台接收数据,敲击回车键结束输入
cout
<<
"请输入要保存到文中的名字,不超过100个字符,按下回车键结束输入!"
<<
endl
;
cin
.
getline
(
c
,
100
);
//接收输入
//把输入的字符写入到文件中
writeStream
->
write
(
c
,
100
);
//判断是显示到屏幕还是写入到文件
if
(
display
)
{
cout
<<
"你输入的数据为:"
<<
endl
;
cout
<<
c
<<
endl
;
}
break
;
//如果是读文件
case
read
:
writeStream
->
open
(
filePath
,
ios
::
in
);
//读模式打开
//把输入的字符写入到文件中
readStream
->
read
(
c
,
100
);
//最大读取100个字符,并存储在char数组中
cout
<<
"读取的文件完毕!:"
<<
endl
;
//判断是显示到屏幕还是写入到文件
if
(
display
)
{
cout
<<
"读取的文件内容如下:"
<<
endl
;
cout
<<
c
<<
endl
;
}
break
;
//如果是读写文件
case
readWrite
:
int
flag
;
cout
<<
"请输入文件的操作模式,输入0代表写,输入1代表读"
<<
endl
;
cin
>>
flag
;
if
(
flag
==
0
){
//写入文件
ReadWriteStream
->
open
(
filePath
,
ios
::
app
);
//从控制台接收数据,敲击回车键结束输入
cout
<<
"请输入要保存到文中的名字,不超过100个字符,按下回车键结束输入!"
<<
endl
;
cin
.
getline
(
c
,
100
);
//接收输入
//把输入的字符写入到文件中
ReadWriteStream
->
write
(
c
,
100
);
cout
<<
"写入文件完成,你写入的内容是:"
<<
c
<<
endl
;
}
else
if
(
flag
==
1
){
//开始读取
ReadWriteStream
->
open
(
filePath
,
ios
::
in
);
//读模式打开
//把输入的字符写入到文件中
ReadWriteStream
->
read
(
c
,
100
);
//最大读取100个字符,并存储在char数组中
cout
<<
"读取的文件完毕,内容为:"
<<
c
<<
endl
;
}
else
{
cout
<<
"你输入有误,程序结束!"
<<
endl
;
}
break
;
}
}
//关闭文件对象的方法
void
fileReadWrite
::
close
()
{
//只要读写对象不为空,则调用close方法释放对象
if
(
writeStream
!=
nullptr
)
writeStream
->
close
();
if
(
readStream
!=
nullptr
)
readStream
->
close
();
}
fileReadWrite
::
fileReadWrite
(
string
path
,
ofstream
*
writeStream
,
ifstream
*
readStream
,
fstream
*
ReadWriteStream
)
:
filePath
(
path
),
writeStream
(
writeStream
),
readStream
(
readStream
),
ReadWriteStream
(
ReadWriteStream
)
{
}
fileReadWrite.h
0 → 100644
浏览文件 @
1b4e42c3
//
// Created by 11010 on 2023/4/9.
//
#ifndef CPP_14_FILE_FILEREADWRITE_H
#define CPP_14_FILE_FILEREADWRITE_H
#include "iostream"
#include "string"
#include <fstream> //操作文件的头文件
using
namespace
std
;
//文件的读取与写入
class
fileReadWrite
{
public:
string
filePath
;
//文件路径
enum
model
{
read
,
write
,
readWrite
}
model1
;
//读写模式枚举
bool
display
=
false
;
//是否把数据显示到屏幕
ofstream
*
writeStream
=
nullptr
;
//写文件对象
ifstream
*
readStream
=
nullptr
;
//读文件对象
fstream
*
ReadWriteStream
=
nullptr
;
//读写文件
fileReadWrite
();
fileReadWrite
(
string
path
);
fileReadWrite
(
string
path
,
ofstream
*
writeStream
);
fileReadWrite
(
string
path
,
ofstream
*
writeStream
,
ifstream
*
readStream
);
fileReadWrite
(
string
path
,
ofstream
*
writeStream
,
ifstream
*
readStream
,
fstream
*
ReadWriteStream
);
void
openFile
(
model
model
,
bool
display
);
//打开文件,参数的含义是选择文件的操作模式、文件内容输出目的地
void
close
();
//关闭文件
};
#endif //CPP_14_FILE_FILEREADWRITE_H
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录