资源简介
c++项目开发全程实录 随书源代码 刘志铭
代码片段和文件信息
#include “Book.h“
#include
#include
#include
#include
using namespace std;
CBook::CBook(char* cNamechar* cIsbnchar* cPricechar* cAuthor)
{
strncpy(m_cNamecNameNUM1);
strncpy(m_cIsbncIsbnNUM1);
strncpy(m_cPricecPriceNUM2);
strncpy(m_cAuthorcAuthorNUM2);
}
char* CBook::GetName()
{
return m_cName;
}
void CBook::SetName(char* cName)
{
strncpy(m_cNamecNameNUM1);
}
char* CBook::GetIsbn()
{
return m_cIsbn;
}
void CBook::SetIsbn(char* cIsbn)
{
strncpy(m_cIsbncIsbnNUM1);
}
char* CBook::GetPrice()
{
return m_cPrice;
}
void CBook::SetPrice(char* cPrice)
{
strncpy(m_cPricecPriceNUM2);
}
char* CBook::GetAuthor()
{
return m_cAuthor;
}
void CBook::SetAuthor(char* cAuthor)
{
strncpy(m_cAuthorcAuthorNUM2);
}
void CBook::WriteData()
{
ofstream ofile;
ofile.open(“book.dat“ios::binary|ios::app);
try
{
ofile.write(m_cNameNUM1);
ofile.write(m_cIsbnNUM1);
ofile.write(m_cPriceNUM2);
ofile.write(m_cAuthorNUM2);
}
catch(...)
{
throw “file error occurred“;
ofile.close();
}
ofile.close();
}
void CBook::GetBookFromFile(int iCount)
{
char cName[NUM1];
char cIsbn[NUM1];
char cPrice[NUM2];
char cAuthor[NUM2];
ifstream ifile;
ifile.open(“book.dat“ios::binary);
try
{
ifile.seekg(iCount*(NUM1+NUM1+NUM2+NUM2)ios::beg);
ifile.read(cNameNUM1);
if(ifile.tellg()>0)
strncpy(m_cNamecNameNUM1);
ifile.read(cIsbnNUM1);
if(ifile.tellg()>0)
strncpy(m_cIsbncIsbnNUM1);
ifile.read(cPriceNUM2);
if(ifile.tellg()>0)
strncpy(m_cIsbncIsbnNUM2);
ifile.read(cAuthorNUM2);
if(ifile.tellg()>0)
strncpy(m_cAuthorcAuthorNUM2);
}
catch(...)
{
throw “file error occurred“;
ifile.close();
}
ifile.close();
}
void CBook::DeleteData(int iCount)
{
long respos;
int iDataCount=0;
fstream file;
fstream tmpfile;
ofstream ofile;
char cTempBuf[NUM1+NUM1+NUM2+NUM2];
file.open(“book.dat“ios::binary|ios::in|ios::out);
tmpfile.open(“temp.dat“ios::binary|ios::in|ios::out|ios::trunc);
file.seekg(0ios::end);
respos=file.tellg();
iDataCount=respos/(NUM1+NUM1+NUM2+NUM2);
if(iCount < 0 && iCount > iDataCount)
{
throw “Input number error“;
}
else
{
file.seekg((iCount)*(NUM1+NUM1+NUM2+NUM2)ios::beg);
for(int j=0;j<(iDataCount-iCount);j++)
{
memset(cTempBuf0NUM1+NUM1+NUM2+NUM2);
file.read(cTempBufNUM1+NUM1+NUM2+NUM2);
tmpfile.write(cTempBufNUM1+NUM1+NUM2+NUM2);
}
file.close();
tmpfile.seekg(0ios::beg);
ofile.open(“book.dat“);
ofile.seekp((iCount-1)*(NUM1+NUM1+NUM2+NUM2)ios::beg);
for(int i=0;i<(iDataCount-iCount);i++)
{
memset(cTempBuf0NUM1+NUM1+NUM2+NUM2);
tmpfile.read(cTempBufNUM1+NUM1+NUM2+NUM2);
ofile.write(cTempBufNUM1+NUM1+NUM2+NUM2);
}
}
tmpfile.close();
ofile.close();
remove(“temp.dat“);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2931 2010-02-24 20:52 C++项目开发全程实录\01\Book.cpp
文件 1068 2013-01-10 16:35 C++项目开发全程实录\01\book.dat
文件 550 2010-02-24 20:49 C++项目开发全程实录\01\Book.h
文件 4865 2010-02-24 21:15 C++项目开发全程实录\01\main.cpp
文件 277 2010-03-23 13:28 C++项目开发全程实录\01\readme.txt
文件 4396 2010-02-19 21:16 C++项目开发全程实录\01\Sample.dsp
文件 535 2010-02-12 14:53 C++项目开发全程实录\01\Sample.dsw
文件 4508 2012-12-20 15:40 C++项目开发全程实录\02\13.1\13.1.cpp
文件 7884800 2012-12-20 16:18 C++项目开发全程实录\02\13.1\13.1.sdf
文件 874 2012-12-20 14:50 C++项目开发全程实录\02\13.1\13.1.sln
文件 17408 2012-12-20 16:18 C++项目开发全程实录\02\13.1\13.1.suo
文件 4521 2012-12-20 15:08 C++项目开发全程实录\02\13.1\13.1.vcxproj
文件 1668 2012-12-20 15:08 C++项目开发全程实录\02\13.1\13.1.vcxproj.filters
文件 143 2012-12-20 14:50 C++项目开发全程实录\02\13.1\13.1.vcxproj.user
文件 236 2012-12-20 16:17 C++项目开发全程实录\02\13.1\buyRecord.txt
文件 402 2012-12-20 15:08 C++项目开发全程实录\02\13.1\commodity.cpp
文件 865 2012-12-20 15:17 C++项目开发全程实录\02\13.1\commodity.h
文件 147968 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.exe
文件 406 2012-12-20 15:17 C++项目开发全程实录\02\13.1\Debug\13.1.exe.em
文件 472 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.exe.em
文件 381 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.exe.intermediate.manifest
文件 807108 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.ilk
文件 102 2012-12-20 16:15 C++项目开发全程实录\02\13.1\Debug\13.1.lastbuildstate
文件 960 2012-12-20 16:15 C++项目开发全程实录\02\13.1\Debug\13.1.log
文件 360507 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.obj
文件 1179648 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.pch
文件 1354752 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\13.1.pdb
文件 198 2012-12-20 15:17 C++项目开发全程实录\02\13.1\Debug\13.1_manifest.rc
文件 5986 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\cl.command.1.tlog
文件 46826 2012-12-20 16:09 C++项目开发全程实录\02\13.1\Debug\CL.read.1.tlog
............此处省略1114个文件信息
- 上一篇:C++大作业学生信息管理系统
- 下一篇:C+++编程艺术(教程+源码)
相关资源
- C+++编程艺术(教程+源码)
- C++大作业学生信息管理系统
- rpm方式不联网安装gcc、gcc-c++
- 基于VC++和OpenGL实现的IGM机器人手臂三
- C++-primer-5.mobi(适合kindle
- 网上超市购物管理系统C++源代码
- Visual c++ MFC 棋牌类游戏编程麻将
- 讯飞windows端语音识别一套是基于QT设
- C++入门到精通的三本书超经典
- C# Csharp 调用 C++的DLL中的回调函数
- Visual C++网络高级编程pdf+源代码
- VC++ 一个非常经典的界面
- Visual C++从入门到精通第三版.pdf
- 基于C++的学生选课系统
- Visual C++视频会议开发技术与.rar
- 基于MFC的计时器程序
- VTK8.1VS2017编译好的VTK库c++
- WinGW for Eclipse IDE for C/C++ Developers
- 好用的MFC教程
- Word转PDF源码-C++开发
- 数据结构与算法分析(C++)(第二版
- C++沉思录_英文版_清晰 带书签目录.
- Harris算法源代码
- C++程序设计谭浩强+代码
- TCP多客户端通讯,单管道、双管道通
- 数据结构算法与应用-C++语言描述
- C++五子棋课程设计报告
- C++五子棋课程设计程序完美运行
- vs2010对C++智能提示插件
- C++纸牌游戏Windows经典游戏
评论
共有 条评论