该程序如何添加头文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了该程序如何添加头文件相关的知识,希望对你有一定的参考价值。

#include "Book.h"
#include <string>
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
CBook::CBook(char* cName,char* cIsbn,char* cPrice,char* cAuthor)

strncpy(m_cName,cName,NUM1);
strncpy(m_cIsbn,cIsbn,NUM1);
strncpy(m_cPrice,cPrice,NUM2);
strncpy(m_cAuthor,cAuthor,NUM2);

char* CBook::GetName()

return m_cName;

void CBook::SetName(char* cName)

strncpy(m_cName,cName,NUM1);

char* CBook::GetIsbn()

return m_cIsbn;

void CBook::SetIsbn(char* cIsbn)

strncpy(m_cIsbn,cIsbn,NUM1);

char* CBook::GetPrice()

return m_cPrice;

void CBook::SetPrice(char* cPrice)

strncpy(m_cPrice,cPrice,NUM2);

char* CBook::GetAuthor()

return m_cAuthor;

void CBook::SetAuthor(char* cAuthor)

strncpy(m_cAuthor,cAuthor,NUM2);

void CBook::WriteData()

ofstream ofile;
ofile.open("book.dat",ios::binary|ios::app);
try

ofile.write(m_cName,NUM1);
ofile.write(m_cIsbn,NUM1);
ofile.write(m_cPrice,NUM2);
ofile.write(m_cAuthor,NUM2);

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(cName,NUM1);
if(ifile.tellg()>0)
strncpy(m_cName,cName,NUM1);
ifile.read(cIsbn,NUM1);
if(ifile.tellg()>0)
strncpy(m_cIsbn,cIsbn,NUM1);
ifile.read(cPrice,NUM2);
if(ifile.tellg()>0)
strncpy(m_cIsbn,cIsbn,NUM2);
ifile.read(cAuthor,NUM2);
if(ifile.tellg()>0)
strncpy(m_cAuthor,cAuthor,NUM2);

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(0,ios::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(cTempBuf,0,NUM1+NUM1+NUM2+NUM2);
file.read(cTempBuf,NUM1+NUM1+NUM2+NUM2);
tmpfile.write(cTempBuf,NUM1+NUM1+NUM2+NUM2);

file.close();
tmpfile.seekg(0,ios::beg);
ofile.open("book.dat");
ofile.seekp((iCount-1)*(NUM1+NUM1+NUM2+NUM2),ios::beg);
for(int i=0;i<(iDataCount-iCount);i++)

memset(cTempBuf,0,NUM1+NUM1+NUM2+NUM2);
tmpfile.read(cTempBuf,NUM1+NUM1+NUM2+NUM2);
ofile.write(cTempBuf,NUM1+NUM1+NUM2+NUM2);


tmpfile.close();
ofile.close();
remove("temp.dat");

参考技术A 这个很简单,我给你用图文演示一遍,包你马上就会使用,在工程里面新建一个main.c文件,写入一个P1口LED闪烁,程序如下:

在新建一个Txt2 保存 Delay.H文件,注意后润是.H保存

在Delay里面定义头文件,里面就写一个延时1ms子函数如下

然后再main文件开头就可以直接调用和使用了,程序具体如下:

希望我的回答对你有帮助,如果有疑问可以继续追问,我会在第一时间内帮你解答!

VC++中添加不了头文件是怎么回事

有些版本的VC++有些头文件已经没有了
比如
#include<iostream.h>
会提示找不到头文件
应该写成
#include<iostream>
using namespace std;
但是也有些头文件是存在的,可以引用,有些时候是2个版本的都存在,具体有没有头文件的话去include文件夹看看 位置大概在
C:\Program Files\Microsoft Visual Studio 10.0\VC\include
其中 10.0 是版本号,会随着你安装的VS版本不同而不同
参考技术A 必须能 参考技术B 请说出具体症状,你为什么认为添加不了,有什么提示信息?

以上是关于该程序如何添加头文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Qt Creator 将 C++ 头文件添加到 Qt 项目

如何在makefile中指定头文件目录

MPLAB IDE中,怎么把引用头文件的路径改成自定义的

如何在 Atmel Studio 6 中添加头文件

codeblocks头文件问题

如何在Qt Creator中添加库文件和头文件目录