c++ 小记1

C++ 获取上一级文件夹路径 我们可能会经常遇到文件所在文件夹路径的问题,虽然各大平台也有提供方便快捷的API来实现,但是如果脱离平台本身,或者想实现跨平台的话,可以考虑用纯C++的代码来实现这一需求 阅读详情

1.../表示上一级文件夹
应该要把require.h放在这个工程中代码文件的上一级文件夹中
例如建一个projec工程,代码文件被放在project文件夹中,那就吧require.h放在project文件夹的上一级文件夹中


2.#include "../require.h"
一般这种是你自己写的头文件.一般库文件是用#include<iostream>这种尖括号的

3.require.h

#ifndef REQUIRE_H
#define REQUIRE_H
#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <string>

inline void require(bool requirement, 
  const std::string& msg = "Requirement failed"){
  using namespace std;
  if (!requirement) {
    fputs(msg.c_str(), stderr);
    fputs("\n", stderr);
    exit(1);
  }
}

inline void requireArgs(int argc, int args, 
  const std::string& msg = 
    "Must use %d arguments") {
  using namespace std;
   if (argc != args + 1) {
     fprintf(stderr, msg.c_str(), args);
     fputs("\n", stderr);
     exit(1);
   }
}

inline void requireMinArgs(int argc, int minArgs,
  const std::string& msg =
    "Must use at least %d arguments") {
  using namespace std;
  if(argc < minArgs + 1) {
    fprintf(stderr, msg.c_str(), minArgs);
    fputs("\n", stderr);
    exit(1);
  }
}
  
inline void assure(std::ifstream& in, 
  const std::string& filename = "") {
  using namespace std;
  if(!in) {
    fprintf(stderr, "Could not open file %s\n",
      filename.c_str());
    exit(1);
  }
}

inline void assure(std::ofstream& out, 
  const std::string& filename = "") {
  using namespace std;
  if(!out) {
    fprintf(stderr, "Could not open file %s\n", 
      filename.c_str());
    exit(1);
  }
}
#endif

C++目录include问题 在include中,’/‘与’'的功能貌似一样,#include "…用#include 加载头文件时,"./“表示当前目录,”…在字符串中,’‘是转义字符,要表示’’,在字符串中应写为’\’,因此"…/A/B/C.exe"与 "…在foldder main中包含:func4.hpp,func4.cpp,文件夹folder1和文件夹folder3。在folder1中包含:main.cpp,func1.hpp,func1.cpp和文件夹func2。“func4.hpp” 可读作 “func4头文件” 阅读详情

相关推荐

QMT与通达信代码实战:从预警到交易的自动化实现

本文详细介绍了如何利用QMT量化交易平台与通达信软件实现从预警到交易的全自动化。通过读取通达信预警生成的板块文件,QMT策略可自动执行买卖指令,有效解决手动交易滞后问题。文章提供了完整的代码框架、核心原理拆解及实盘注意事项,帮助投资者构建高效、纪律性的自动化交易系统。

ansible6ops的博客 610

VC获取当前/上一级路径,读文件

获取当前/上一级路径 TCHAR exeFullPath[MAX_PATH]; //定义一个TCHAR类型的数组,数组名为exeFullPath,长度为MAX_PATH GetModuleFileName(NULL,exeFullPath,MAX_PATH); // 获取当前应用程序的路径...\\projects\\test\\debug\\test.exe *_tcsrchr(exeFullPath,'\\') = 0; // 去掉可执行文件名\\test.exe CString strExePath = exeFu

保姆级教程:用Python+Mediapipe实时捕捉手势,驱动Unity虚拟手模型(附完整源码)

本文详细介绍了如何利用Python的Mediapipe库和Unity实现实时手势识别与虚拟手模型驱动。通过OpenCV进行图像采集,Mediapipe提供21个手部关键点识别,结合UDP通信协议实现Python与Unity之间的低延迟数据传输。教程包含完整源码、环境配置、核心代码实现及性能优化技巧,适用于VR教育、游戏开发等需要自然交互的场景。

weixin_42531779的博客 347

c/c++中的相对路径和绝对路径

转自:http://www.cnblogs.com/vranger/p/3820783.html      最近节点管理的项目中编程需要用到相对路径和绝对路径,我总是在这一部分弄得不是很清楚,所以把相关的知识摘录一下,以备学习。      C\C++编程中:相对路径+绝对路径 电脑硬盘E盘下,建文件夹“test”,"test"下建立子文件夹“file”,"fil

LynnUCAS的专栏 3万+

C++使用正则表达式分解文件路径(获取各级路径、文件名、上级文件夹路径)

正则表达式是一种处理字符串强有力的工具,在先前用Python做NLP相关的工作时,曾使用Python的正则库(re)进行数据的清洗,最近在做图像处理时需要多次存储处理后的文件,多次指定路径过于麻烦,便想到了使用正则表达式对输入文件的路径进行分解,以便将处理后的文件存储于输入文件相同的上级路径中。

Chasey的博客 4697

c++面试八股小记1

例如,全局变量或静态变量持有的内存。派生类在多继承时,由多个虚表指针,对某个基类虚函数重写时,对应基类的虚表中的虚函数指针会被更新,如果有新虚函数,会在第一个虚表后增加虚函数地址。保证安全和稳定,将普通程序限制在了用户态下,不允许直接访问硬件和io等资源,限制了cpu的权限,避免了用户的误操作导致资源损坏。模板:写一些与类型无关的代码,编译器在编译时生成模板的带类型的实例,同时也确定了调用的具体代码。函数重载:函数名相同,参数列表不同(类型,数量,顺序),编译器根据提供的实参决定调用哪个函数。

weixin_62692110的博客 1252

自学C++小记1

自学C++小记1 c++支持struct关键字,它也可以定义类类型。struct关键字是从C语言中继承过来的。 struct和class的区别 如果使用class来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为private,也就是说,如果你定义了一个类,然后定义了第一个成员,这个成员既不写public,也不写private,那么这个成员默认就是private的;如果使用struc

SmallJie0的专栏 426

C++Primer学习小记1

C++Primer这本书 大家一般看几遍?我正在学,看到第六章,有一些看了还不懂,没掌握。 

浅浅的小溪 683

linux下C/C++开发小记1

文章目录前言一、linux下的共享库二、动态链接和静态链接三、显示动态链接四、pro中的编译、链接参数1.QMKAE_CXXFLAGS和QMAKE_LFLAGS2.编译器参数-fvisibility3.编译器参数 -shared、-fPIC4.链接器参数 -Wl,-Bsymbolic5.链接器参数 -Wl,-rpath=*相对路径或绝对路径*五、全局符号的载入顺序 前言 本文主要是记录了在用QtCreator作为IDE在linux下进行共享库开发时遇到的问题及解决方法,其中也包含自己对linux在编译,.

weixin_39857255的博客 1029

c++并发编程小记1

去图书馆借了本书,一直不知道在瞎忙什么一直没看。终于放假了,便开始学习。

yill_h的博客 475

C++学习小记之代码重用问题(1

C++ Primer Plus第六版第14章程序清单14.2给的示例代码中的运算符重载问题

qq_45204725的博客 262

C++语言--基本知识小记1

说明:以下内容摘自《C++ Primer 中文版(第四版)》 (《C++ Primer(4th Edition)》   Stanley B.Lippman,Josée LaJoie,Barbara E.Moo) 1C++中main函数必须返回int类型   2)Linux GNU编译器   g++ prog1.cc -o prog1 Windows

南柯一梦 433

c++学习笔记小记1

1. 数据类型--有符号数和无符号数之间的转化含有无符号类型的表达式unsigned u = 10;int i = -42;cout&lt;&lt; i + i &lt;&lt; endl;//结果为-84,计算结果没问题但若是计算过程为:cout &lt;&lt; u + i &lt;&lt; endl;//结果为4294967264,结果有问题,有符号数和无符号数计算过程无符号首先会转化为无符...

qq_28734159的博客 263

c++随笔,关于模板的第二个小记 16.1.3模板参数

16.1.3模板参数 很多时候我们把参数名字定义为T,但是实际上我们可以使用任何的名字 比如 template <typename DATA>using partNo = BlobA<DATA>; 模板参数和作用域规则。一个模板参数名的可用范围是在其声明之后,至模板声明或定义结束之前。与其他任何名字都一样,模板参数会隐藏外层作用域中声明的相同的名字。但是,与大多...

qq_32783703的博客 301

做外挂小记(1)--获取进程PID和句柄修改内存之C++ ,VB, C#语言篇

http://hi.baidu.com/859729391/blog/item/7a5a17c7fc2d3e1c9c163de5.html 想要做外挂呢,就必须先获得,游戏进程的绝对控制权.....当然我们必须先取得游戏进程的ID!! 下面直接进入正题 ^ ^ 首先说说最简单的C++,C++强大大家都知道..当然获得PID也方便得许多! 先说下思路吧..大概就是 首先获得游戏窗口名-...

weixin_30273501的博客 791

Qt/C++使用小记1【.exe程序拖拽文件使程序启动时,获取该文件路径】

众所周知,qt生成的默认的.exe也是支持拖拽文件到.exe图标上的时候打开程序的,但是程序内不会有任何表现,仅仅是启动程序而已,刚好最近在项目中有一个需求就是要能够拖拽文件到.exe程序打开的时候获取到路径而做一系列处理,所以就记录下这一个,自己也是找了好久

游鱼入梦的博客 698

「算法小记」-1:Ackermann函数/阿克曼函数的一点思考解法【递归/非递归/堆栈方法】(C++

「算法小记」-1:Ackermann函数/阿克曼函数的一点思考解法【递归/非递归/堆栈方法】(C++

努力才是唯一的入场券。 4万+

C++测试小记1)——array1d(int n, T val=T()) vs array1d(int n, T val=T(0))

#include #include #include #include #include using namespace std; #define print(x) cout<<#x<<"="<<setprecision(16)<<x<<endl int main() { float a=3; float b=360; float c=3.14/2;

Ant 1149

Cpp指针的delete操作 - 小记

关于Cpp中delete指针并防止野指针出现的操作顺序的效果对比验证

LXT13592800607的博客 1658

LTE系统中保证CCE分配公平性的算法

在LTE系统中,CCE是传输控制信息所用的物理资源,被上行调度和下行调度共用,若上行调度中所需CCE资源多并且调度快,那么下行调度中将没有或者只有很少的CCE资源可以使用,导致PDSCH中的RB浪费大,反过来PUSCH中RB浪费大。为了避免这个问题的发生,采取限制上下行调度中分配CCE的最大UE数目的方法来保证其公平性,同时提出计算上下行调度中分配CCE最大UE数目的算法,最后通过仿真证明该方法是可行的。

上一篇: 时间不多了
下一篇: c++中头文件与实现文件的关系(reprint) 转载于Search的博客
Tonight_Alive
博客等级 码龄12年 16粉丝 20原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值