size_t 类型是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小
一般是整
头文件:cstddef(是C标准库的头文件stddef.h的C++版)
优点:适应多个平台的 ,增强了程序在不同平台上的可移植性
size_t在是一种“整型”类型,里面保存的是一个整数(就像int,
long),不过这个整数用来记录一个大小(size)。size_t的全称应该是size type
总结:size_t 一种用来记录大小的数据类型”
#include
#include
using namespace std;
// 异常抛出检测
// (1)对函数返回值进行判断
int main()
{
FILE *fin;
FILE *fout;
errno_t err_src_name;
errno_t err_dst_name;
char src_name[128];
char dst_name[128];
cout
<
cin >> src_name;
cout
<
cin >> dst_name;
err_src_name = fopen_s(&fin, src_name, "r");
if (err_src_name != 0)
{
cout
<
return 0;
}
err_dst_name = fopen_s(&fout, dst_name, "w");
if (err_dst_name != 0)
{
cout
<
return 0;
}
// 文件复制
while (true)
{
char buffer[128];
int count = fread(buffer, sizeof(char), 128,
fin);
if (count == 0)
{
cout
<
return 0;
}
int fwrite_count = fwrite(buffer, sizeof(char),
count, fout);
if (fwrite_count < count)
{
cout
<
return 0;
}
if (feof(fin))
break;
// 关闭文件
}
if (fclose(fin))
{
cout
<
}
if (fclose(fout))
{
cout
<
}
cout
<
return 0;
}
feof(fin)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0
作用:Tests for end-of-file on a stream.
检测流上的文件结束符
fwrite(buffer, sizeof(char), count, fout);
Buffer:Pointer to data to be
written. 要获取数据的地址
Size:Item size, in
bytes. 写入内容的单字节数
Count:Maximum number of items to be
written. 进行写入size字的数据个数
Stream:Pointer
to FILE structure. 要进行写操作的目标文件指针;