cpp异常

用法记录

typedef std::vector<RoadMarking, Eigen::aligned_allocator> RoadMarkings;
RoadMarkings:这是新类型的名称,是std::vector使用特定内存分配器后的类型别名。
也就是说,RoadMarkings是一个std::vector容器
但使用了Eigen::aligned_allocator来分配内存。

读入一个路径变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <fstream>

int main(int argc, char *argv[]) {
if (argc != 2) {
std::cerr << "用法: " << argv[0] << " <文件路径>" << std::endl;
return 1;
}

const char *filePath = argv[1]; // 获取命令行参数中的文件路径

std::ifstream inputFile(filePath); // 尝试打开文件

if (!inputFile.is_open()) {
std::cerr << "无法打开文件: " << filePath << std::endl;
return 1;
}

// 读取文件内容或进行其他操作
std::string line;
while (getline(inputFile, line)) {
// 在这里可以处理每行的内容
std::cout << "读取到的行内容: " << line << std::endl;
}

inputFile.close();

return 0;
}

异常处理

在编程过程中难免会用到一些过时,或者曾经不安全的函数,如上,这是编译器会出现warning提示用某某新函数,如果不想使用新的函数可以使用一下方法:

  1. 使用VS提供的 编译器选择性提供warning功能 link: Developer tools, technical documentation and coding examples | Microsoft Docs-

    us/library/2c8f766e.aspx 例:上面的错误使用 #pragma warning( disable : 4996) 即可消除。

  2. 使用提示中的_CRT_SECURE_NO_WARNINGS,以下是使用方法:

     a. Project properties->Configuration Properties->C/C++->Preprocessor->Preprocessor
    
         Definitions
    
     b. 点击按钮 (...)
    
     c. 输入:_CRT_SECURE_NO_WARNINGS。 注:使用 "\n" 相隔
    
  3. 在自己代码文件的首行加入 #define _CRT_SECURE_NO_WARNINGS

    script level 4
    1
    2
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>