更多课程 选择中心

C/C++培训
达内IT学院

400-996-5531

白话C++编程系列之: 多个文件篇

  • 发布:小宁
  • 来源: 小宁静致远
  • 时间:2017-11-13 16:31

今天我们来talk about另外一个和文件相关的概念: 多个文件概念。我们由一个文件到多个文件,还是有区别的.

我们已经知道了文件的概念, 理解多个文件的概念会很easy. 多个文件最主要的区别是组织方式。

类似我们将我们的电脑硬盘分区(盘),如果只分成一个区(盘),也没有什么可好说的。

如果分成多个区,那么我们就想想到底分成几个区,每个区多大,每个区用来做什么?

我们在写代码,特别是越来越大的项目时, 我们要有组织的将多个文件分类处理,或者分功能处理。

1.多文件是想说啥?

多文件 是指对多个文件的分类或者划分。可以按类别划分,或按功能划分, 分别存放在不同的目录中.

如按类别功能划分.将我们自己声明、定义的常量、功能函数、宏定义等等放在一个目录(文件夹)中,

将用来的库比如boost放在libs目录中, 将编译后的release版本, 和测试用的debug版本放在不同的目录中管理。

这就好比我们将win7装在C:中, 我们将安装包放在 D:\中, 将音乐,视频放在E:\中一样. 方便我们管理和处理.

这比我们把所有东西放在一个盘里方便管理和维护好多了,即使我们只有一个盘,通常我们也会分成多个目录来管理.

不能让我们的电脑变成一锅粥…

您想想自己平时是不是这么做的?分类就是其中一个处理多个文件或者平时处理多种信息的一种简单、有效的方式。

来个例子:

//D:\dev\jinLab\p8_file\p9_fileS\p9_fileS.cpp//这里的cpp文件就是: p9_fileS.cpp// p8_file.cpp : 白话C++编程之: 多个文件篇///*

@Author: Albert 小宁

@Web: #

@WeChatOfficalAccount: 小宁静致远

@Date: 2017-11-12

@KS: #/IeieiEm

*/#include <iostream>#include <fstream>#include <string>#include "myDefines/globalDefines.h"

上面的例子中我们把我们的全局定义文件 globalDefines.h 文件放在了 myDefines 这个目录中.

#include "myDefines/globalDefines.h"

我们将配置文件放在了 config.ini 放在了 config 目录中.

iostream/string/fstream头文件则放在VS2013的安装目录下的

c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\ 目录中.

2.多个文件的应用?(举个例子)

其实大家已经看到在上面我们已经举例说明了多个文件的应用, 主要是方便管理和后期维护。这里不在啰嗦了。^_^

3.多个文件的实践?(动手操作)

看了上面的例子, 您也一定觉得很简单,这不就是我们平时放文件时,建立了不同的目录,然后把不同文件放在不同的目录吗?!

对的,C++中组织多个文件,或者多个函数,多个常量的定义时就是采用相同的方式。

如果您经常组织或者整理您的文件,对这个概念将非常清楚,以及为什么这么做您也一定非常清楚!

您真的太棒了!(道理相通,融会贯通!)

我们现在就用上面举的例子,实践一下.

请打开VS2013或者打开cpp.sh #来(本次cpp.sh也帮不上你的忙了。它不能组织多个文件)写上如下代码:

头文件: D:\dev\jinLab\p9_fileS\p9_fileS\myDefines\globalDefines.h

#pragma once //防止多次包含同一个头文件 #include <iostream>#include <string>using namespace std;//找出两个中更大的一个double GetMax( double dblLeft, double dblRight )

{ return dblLeft > dblRight ? dblLeft : dblRight;

}void printSth( std::string const & str2print )

{

std::cout << str2print << std::endl;

}class CMyClass

{public: //构造函数

CMyClass(){} //析构函数

~CMyClass(){} //一个打印函数: 声明

inline void print();

};//CMyClass::print() 的实现在这个.inl文件中#include "myClassInl.inl"

.cpp文件: 调用处: D:\dev\jinLab\p9_fileS\p9_fileS\p9_fileS.cpp

//D:\dev\jinLab\p9_fileS\p9_fileS\p9_fileS.cpp//这里的cpp文件就是: p9_fileS.cpp// p9_fileS.cpp : 白话C++编程之: 多个文件篇///*

@Author: Albert 小宁

@Web: #

@WeChatOfficalAccount: 小宁静致远

@Date: 2017-11-12

@KS: #/IeieiEm*/#include <iostream>#include <fstream>#include <string>#include "myDefines/globalDefines.h"int main( int argc, char * argv[ ] )

{

printSth( "今天是周日,天气非常Sunny, 祝您周末愉快!" );

std::string strCfgName = "config/config.ini";

std::fstream ifs( strCfgName,std::ios_base::in ); if ( !ifs.is_open() )

{

std::cout << "不能打开文件: " << strCfgName << std::endl;

ifs.close(); return -1;

} string strLine; while ( getline( ifs, strLine ) )

{

std::cout << strLine << std::endl; //printSth( strLine );

}

ifs.close(); return 0;

}

config.ini文件: D:\dev\jinLab\p9_fileS\p9_fileS\config\config.ini

url = "#"

google = "https://google.com/ncr"

myClassInl文件: D:\dev\jinLab\p9_fileS\p9_fileS\myDefines\myClassInl.inl

void CMyClass::print()

{

printSth( "I am function print() of class CMyClass!" );

}

我的代码结构目录

如果使用的是VS2013, 那么我们按F7, 如果没有错误的话, 就会编译生成我们的程序,并且会有下面的输出:

请看,这是程序的输出结果图.

怎么样?哈哈

恭喜您, 今天您和我一起学习了多个文件这个概念.

多个文件

多文件 是指对多个文件的分类或者划分。可以按类别划分,或按功能划分, 分别存放在不同的目录中.

如按类别功能划分.我们将自己声明、定义的常量、功能函数、宏定义等等放在一个目录(文件夹)中,

将用来的库比如boost放在libs目录中, 将编译后的release版本, 和测试用的debug版本放在不同的目录中管理。

这就好比我们将win7装在C:中, 我们将安装包放在 D:\中, 将音乐,视频放在E:\中一样. 方便我们管理和处理.

多个文件的应用

多个文件的实践

怎么样?^-^ 多个文件的概念很简单吧?它就是我们平时管理文件的一种方式(道理相同,融会贯通)。

您是如何理解它的?能不能举几个例子? 动手写、组织起来吧.

本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:方法 | 减少C++代码编译时间
下一篇:C++11新特性-类内初始化

超全的C语言标识符知识

C指针——指针类型转换

C指针——指针和结构类型的关系

C指针——数组和指针的关系

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省