确定 Linux 或 Windows 是 C++ 语言

2024-04-22

我正在用 C++ 编写一个跨平台兼容函数,该函数根据输入文件名创建目录。我需要知道机器是 Linux 还是 Windows,并使用适当的正斜杠或反斜杠。对于下面的代码,如果机器是Linux那么isLinux = true。如何确定操作系统?

bool isLinux;
std::string slash;
std::string directoryName;

if isLinux
   slash = "/";
else
   slash = "\\";
end

boost::filesystem::create_directory (full_path.native_directory_string() + slash + directoryName); 

Use:

#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
static const std::string slash="\\";
#else
static const std::string slash="/";
#endif

顺便说一句,您仍然可以在 Windows 上安全地使用这个斜杠“/”,因为 Windows 可以完美地理解这一点。因此,只要坚持使用“/”斜线就可以解决所有操作系统的问题,甚至像路径为 OpenVMS 的操作系统一样foo:[bar.bee]test.ext可以表示为/foo/bar/bee/test.ext.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定 Linux 或 Windows 是 C++ 语言 的相关文章

  • 我可以在 WinRT / Windows 8 Store 应用程序中绑定 DynamicObject

    我有以下代码 public class MyClass DynamicObject INotifyPropertyChanged Dictionary
  • CRTP 能否完全取代小型设计的虚拟功能?

    Is CRTP http en wikipedia org wiki Curiously recurring template pattern有足够的能力智胜virtual功能齐全 我认为 CRTP 的唯一缺点是为每个重复模式生成大量代码
  • 从 proc/pid/cmdline 解析命令行参数

    我正在尝试解析命令行参数另一个程序 这是一个模拟器 在我的程序中使用system 命令和模拟器的pid 不幸的是同时使用文件读取和cat 输出格式不正确 所以我无法真正获取数据 cat在命令行上显示删除了空格的文件内容 整个字符串粘在一起
  • 可空引用类型意外 CS8629 可空值类型对于临时变量可能为空

    在 C 8 项目中 我使用可为 null 的引用类型 并收到意外的 或者至少对我来说意外的 CS8629 警告 bool singleContent x DataInt null bool multiContent x DataNvarch
  • EntityFramework:“参数值超出范围。”

    我在 EntityFramework 模型优先 中保存小数时遇到问题 在我的 EDMX 中 我声明我的属性为 Decimal 30 10 然后我尝试保存该数字 1215867935736100000 结果是 Parameter value
  • 返回 ObjectResult 会导致 406 Not Acceptable

    在学习 Scott Allen 的 Pluralsight 课程 Asp net Core 1 0 基础知识 时 在 MVC 框架中的控制器 模块和 操作结果 部分中 我在 Index 操作方法上遇到了 406 Not Acceptable
  • 如何从 UNC 中提取服务器名称

    谁能告诉我如何从 UNC 中提取服务器名称 ex 服务器名称 目录 目录 编辑 我很抱歉 但看起来我需要澄清一个错误 路径实际上更像是 服务器名 d 目录 我知道这可能会改变一些事情 怎么样Uri Uri uri new Uri serve
  • 使用请求和多处理时的奇怪问题

    请检查这个Python代码 usr bin env python import requests import multiprocessing from time import sleep time from requests import
  • 使用正在运行的进程的共享内存收集核心转储

    核心转储仅收集进程空间 而不收集为进程间通信创建的共享内存 如何使核心转储也包含正在运行的进程的共享内存 设置核心文件过滤器 proc PID coredump filter per http man7 org linux man page
  • 我应该在查询时调用 ToListAsync()

    不久前 我开始接触 C 并正在寻找一些如何编写代码的最佳实践 现在 我正在使用 EF Core 并具有以下代码 var details dbContext Details Where x gt x Name Button foreach v
  • 引用计数指针的STL类?

    这应该是微不足道的 但我似乎找不到它 除非不存在这样的类 智能指针的 STL 类 或类集 是什么 UPDATE 感谢您的回复 我必须说我很惊讶没有标准实施 我最终使用了这个 http archive gamedev net referenc
  • 如何使用实体框架更新特定记录的一个字段?

    我想要更新一个名叫 Pejman 的人的家庭情况 这是我的对象类 public class Person public int Id get set public string FirstName get set public string
  • 列表框显示类名称而不是值

    我正在开发一个项目 其中用户应该向动物输入值 名称 年龄 性别等 并且用户输入的值应该显示在列表框中 这些类相互继承 以下是继承的工作原理 Animalclass 是所有类的父类 Mammal类继承自Animal class Dog类继承自
  • 从 WMI 运行 exe 时的网络身份验证

    我有一个 C exe 需要使用 WMI 运行并访问网络共享 但是 当我访问共享时 我收到 UnauthorizedAccessException 如果我直接运行 exe 则可以访问共享 我在这两种情况下都使用相同的用户帐户 我的应用程序有两
  • ASP.NET 5 (vNext) - 配置

    我正在尝试学习 ASP NET 5 我在 Mac OS X 上使用它 此时 我有一个如下所示的 config json 文件 配置 json AppSettings Environment dev DbSettings AppConnect
  • 带有 epgm 的 ZeroMQ PUB/SUB 无法接收同一主机上进程发送的消息

    我的所有进程都有两个套接字 一个 PUB 和一个 SUB 并且它们都使用相同的多播地址和端口 例如 PUB 会这样做 绑定 epgm 239 192 1 1 5555 SUB 将执行以下操作 连接 epgm 239 192 1 1 5555
  • 在 Qt C++ 中使用多个键

    我正在构建 坦克 游戏 我使用关键事件在地图上运行我的坦克 实际上我当时只能使用一把钥匙 但我需要有能力去完成任务 同时向上和离开 这是我的单键事件代码 switch event gt key case Qt Key Up if ui gt
  • 使用 std::set 时重载运算符<

    这是我第一次使用 std set 容器 并且我对操作符 std less 遇到了问题 我声明该集合 std set
  • 从原始 URL 获取重定向 URL

    我的数据库中有一个表 其中包含一些网站的 URL 我必须打开这些 URL 并验证这些页面上的一些链接 问题是某些 URL 被重定向到其他 URL 对于这样的 URL 我的逻辑是失败的 有什么方法可以传递原始 URL 字符串并获取重定向的 U
  • C/C++ 中的最小二乘回归

    如何在 C C 中实现因子分析的最小二乘回归 the黄金标准是LAPACK http www netlib org lapack lug node27 html 你特别想要xGELS

随机推荐

  • 用于读/写 XMM 和 YMM 寄存器的内联汇编代码?

    我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
  • 使用 ffmpeg 进行视频标准化

    无论如何 有没有使用 ffmpeg 脚本将视频亮度标准化为其完整的动态范围 我一直在尝试用 lutyuv 这样做 ffmpeg i input mp4 vf lutyuv y val minval 255 maxval minval 输出
  • 使用 mysqldump 转储和加载 MySQL InnoDB 数据库的最快方法是什么?

    我想使用 mysqldump 和 MySQL 5 1 创建一个包含大约 40 个 InnoDB 表和大约 1 5GB 数据的数据库副本 能够实现最快转储和加载数据的最佳参数是什么 即 single transaction 此外 将数据加载到
  • 最大执行时间超过 30 秒 Laravel 4 错误

    我在 laravel 4 的 UserController 中发送密码请求的某个函数遇到问题 它检查数据库中是否存在电子邮件 如果用户存在 则发送电子邮件 然后 该函数在表中创建一个令牌 并将其发送到电子邮件内链接的末尾 该函数的工作原理与
  • JPA 中更好的异常处理

    我在持久化我的实体时使用了 EJB3 JPA 我很高兴它能够管理我的数据库相关内容 任务 我唯一关心的是异常处理 我保存实体时的示例代码总是采用这种风格 我在网上读到的大多数教程都是这种风格 也没有考虑异常处理 Stateless publ
  • 并行运行合金分析仪

    我正在生成相当多的合金规格 als 文件 对于我试图解决的中等规模问题 我生成了 1536 个 als 文件 为了节省运行所有这些文件的时间 我使用了 Java 并发 API 特别是ExecutorCompletionService wit
  • C++ 虚拟析构函数和 vtable

    我对虚拟析构函数和虚函数表有一些具体问题 假设我有以下代码 class Base public virtual Base class Child public Base public Child 问题 vtable存储在哪里 它是否始终位于
  • Android系统颜色常量

    Android 编程快把我逼疯了 用于 GUI 开发的 XML 或可编程方法正在为代码制作一份正确的老狗早餐 这里有一些东西 那里有一些东西 我目前的挫败感是试图保留所有 XML 我想设置背景颜色TextView与 a 的背景颜色相同的颜色
  • ArrayIndexOutOfBoundsException - 改造调用

    我正在尝试打电话PUT方法在我的Retrofit实例 Response
  • 大端和小端表示

    如果我写以下内容 section data align 4 X db 1 Y dw 5 Z db 0x11 section text add dword X 0xAA000101 我试图理解大端和小端表示之间的差异 但我不明白每个表示的每个
  • 使用react-google-maps-api将自定义标记作为React组件

    我们正在转换自google map react https github com google map react google map react readme to react google maps api这意味着更多原生 Googl
  • 使用 COMPS 构建 C/C++ 应用程序时出错:硬编码路径

    我正在尝试构建一个使用 C C 绑定开发的 COMPASs 应用程序 当我构建应用程序时 出现以下错误 您知道我该如何解决这个问题吗 xxxx xxx c increment gt buildapp increment BSC Barcel
  • Crash Firebase vs Crashlytics vs HockyApp

    我一直在应用程序中使用 Crashlytics 我们的客户端使用 HockeyApp 并且我是通过 Google Firebase 最近的更新了解到的 有谁有机会使用上述工具 您的概述和建议是什么 您是否喜欢其中一个 为什么 祝你有美好的一
  • Laravel 将数据传递给路由

    我是 Laravel 5 的新手 我需要一些帮助 因为我无法解决我的简单问题 我有一个数据列表http sample com partners http sample com partners如果我单击数据链接 我希望将其重定向到 http
  • 如何从服务器中的客户端池中识别客户端 - 设计

    好的 我正在使用一个客户端 服务器库 服务器可以接受来自客户端的多个连接 每次调用 Accept 时 如果成功 客户端套接字的句柄就会被推送到映射 并以假定的唯一 ID 作为键 这样当服务器稍后想要向特定客户端发送消息时 它就会使用该 ID
  • mysql 其中字符串以数字结尾

    我的表列包含如下值 id item 1 aaaa11a112 2 aa1112aa2a 3 aa11aa1a11 4 aaa2a222aa 我只想选择项目值以数字结尾的行 有这样的事吗 select from table where ite
  • Maven 对特定存储库使用 SOCKS 代理

    我试图将 Maven 配置为在访问特定存储库时使用袜子代理 但不将其用于 Maven 中央存储库 我用过export MAVEN OPTS DsocksProxyHost
  • 单击单个单元格并使用 Javascript 添加颜色到 HTML 表格

    我创建了一个 HTML 表 带有用户输入的列和行 并且还具有选择颜色的动态方式 现在我希望能够单击表格中的各个单元格并用所选颜色为它们着色 到目前为止我有这个代码 我的最终目标是当我再次点击 提交 时能够重置颜色 流程将是 选择桌子尺寸 选
  • 当其父对象设置为不显示时,如何获取对象的最小高度?

    为什么我无法获取min height当一个物体的parent被设定为display none 但如果最小高度是 我仍然可以得到物体的高度not in use 例如 css li display none object display blo
  • 确定 Linux 或 Windows 是 C++ 语言

    我正在用 C 编写一个跨平台兼容函数 该函数根据输入文件名创建目录 我需要知道机器是 Linux 还是 Windows 并使用适当的正斜杠或反斜杠 对于下面的代码 如果机器是Linux那么isLinux true 如何确定操作系统 bool