std-filesystem 相关问题


filesystem::copy 返回无效参数,但参数是现有的 fs::path 变量

我正在使用 std::filesystem (fs) 库处理项目中的文件。我存储为 fs::path 变量的所有路径。我的代码是: int main(){ std::filesystem::path root_dir = "/home/xyz/study/


有没有一个函数可以获取 Windows 上文件的真实且区分大小写的路径?

我正在为游戏创建 std::filesystem Lua 绑定,并且我想确保稍后使用该绑定的 mod 不依赖于 Windows 的大小写不敏感。 例如,fopen("foo.txt&


C++ 将 std::chrono::utc_clock 格式化为毫秒

我使用以下行来获取毫秒精度的时间: std::stringstream s; std::chrono::time_point TimeTag = time_point_cast(std::


Firefox 中的 FileSystem API 有什么用?

在 Firefox 中是否有使用文件系统 API 的用例? MDN 上的所有示例均显示 Firefox 不支持的 savePicker 函数。你能使用这个 API 做一些有用的事情吗?或者它有用吗...


std::带有可移动、不可复制参数的线程

以下程序不能在 VS11 beta、gcc 4.5 或 clang 3.1 中构建 #包括 #包括 int main() { std::unique_ptr p; std::线程 th([](std::


是否可以从zoned_time获取time_point?

我尝试在 std::string 中有选择地获取当地时间/UTC。 我尝试过的: (1) 获取 UTC 的 std::string 使用 std::format 可以正常工作: 自动 utc = std::chrono::system_clock::now(); std::字符串...


为什么构造 std::string(0) 不会发出编译器警告?

假设我有这段代码。 #包括 int main() { std::字符串(0); 返回0; } 写入 std::string(0) 会导致 std::basic_string::basic_string(const char*)...


gcc-12/13:仍然找不到 std::stacktrace

我有这个代码: #包括 #包括 int 嵌套函数(int c) { std::cout << std::stacktrace::current() << '\n'; return c + 1; } int func(int ...


释放函数体内std::function的内存

我需要将 std::function 作为 void 指针传递以异步执行,因此我在堆上创建了一个 std::function 。删除函数体内的 std::function 对象是否安全?请看...


如何使用 std::move_iterator 从向量中删除元素?

这是一个 Josephus 排列问题,它是通过使用 std::move() 解决的,但现在我必须切换到使用 std::move_iterator (通过使用 std::make_move_iterator()) 但是,这不能编译:


我无法理解C2665错误(VS 2017 / 15.9.58)

已解决 我在 Visual Studio 2017 (15.9.58) 上遇到重载函数问题: 使用 GrayScalePixel = std::uint8_t; 结构体PgmImage { std::uint16_t 宽度; std::uint16_t 高度; ...


使用 tokio::spawn 函数未执行

这段代码: 使用 std::thread::sleep; 使用 std::time; 使用 std::sync::atomic::{AtomicU32,排序}; 使用 tokio::time::Duration; 静态REQUEST_RECV_V2:AtomicU32 = AtomicU32::new(0); 异步 fn no_msg_p...


std::ranges::range 指定类型

目前,我有以下代码: 布尔检查(初始化列表) 我想用 std::ranges::range 替换它。 布尔检查(std::ranges::range auto &) 问题:我怎样才能...


将 std::variant 转换为具有类型超集的另一个 std::variant

我有一个 std::variant,我想将其转换为另一个具有其类型超集的 std::variant。有没有一种方法可以让我简单地将一个分配给另一个? 模板...


为什么将operator()作为std::function调用不起作用

考虑这个旨在收集字符串序列的小类: 班级问题_t期末 { 私人的: std::vector m_issues; 民众: constexpr void 运算符()(std::string&a...


如何在 C++ 中优雅地终止进程?

“优雅地”我的意思是:“在终止之前调用本地/静态对象 dtor,而不生成 coredump”。 我试过: std::exit() (以 coredump 终止) std::_Exit() std::中止...


状态机类型列表

我有两个别名来使用智能指针管理玩具状态机的状态集合: 使用 States = std::tuple, std::shared_ptr>; 使用


std::inplace_merge 的复杂性

所以我有两个排序向量,我想将它们合并为一个排序向量而不使用额外的向量。 由于存在这种情况,我无法使用 std::merge,所以我尝试了 std::inplace_...


C++ std::array 迭代器保证是类似指针的吗?

我有一个 C++ 数组。 std::array arr { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 我想反转最后五个元素,最终得到 { 0, 1, 2, 3, 4, 9, 8, 7, 6, 5 }。我知道 std::array 给出...


如何正确使用std::locale::global?

我正在使用一个调用 std::locale:global 的库来保存和恢复 C++ 区域设置。 但是 std::locale::global 设置 C++ 语言环境设置和 C 语言环境设置,如这个漂亮的用户 gui 中所述...


为什么当另一个线程释放信号量时无法立即获取信号量?

这是代码: #包括 #包括 #包括 #包括 std::binary_semaphore sema{ 1 }; int main() { std::线程 th([] { ...


为什么 std::sleep_for(std::chrono::hours::max()) 在 Linux 上立即返回?

我正在运行一个提供服务的 C++ 程序,并注意到即使不提供任何请求,它也会占用 100% 的 CPU。我将问题缩小到一个 while 循环,该循环调用 std::sleep_...


std::remove 是否保留删除的元素,或者它们是否可以被覆盖?

int main() { std::vector v(10, false); v[0] = 真; v[1] = 真; auto end_it = 删除(v.begin(), v.end(), true); 对于 (int i = 0; i < v.size(); ++i) cout << ...


这里是否误报:警告C4172:返回局部变量或临时变量的地址?

在以下代码中: #包括 #包括 模板 类索引{ 民众: const std::string& 文本; const std::向量&...


错误:没有匹配的函数可用于调用 'std::tuple<std::vector<int, std::allocator<int> >&, int>::tuple()'

嘿,我通常使用 Javascript 和 dart,但我被要求为某些项目用 C++ 编写一些代码,所以我在编写代码时遇到了很多问题。我遇到过这个错误


std::enable_if_t typedef 替换不等效

我经常为类创建一个 this_type typedef 以缩短成员函数签名。 然而,我在使用 std::enable_if_t 时遇到了这个奇怪的情况。 #包括 #包括 #


为什么我可以使用模板函数作为 std::sort 的参数,但不能使用模板 lambda(使用成员函数 ptr 作为模板参数)[重复]

抱歉标题很长,正如我所说的,这是有效的: 结构体 S { int a{}, b{}; }; std::ostream & 运算符<<(std::ostream &o, const S &s) { return o << '{' << s.a << '...


memory_order:获取/释放反转模式

可能很蠢,但与其被问到,不如后悔一辈子。 std::atomic::load 和 std::atomic::store 的标准模式是 像这样的东西 注意:假设在所有前...


为什么将迭代器 '(vector<int> a).begin()' 传递给参数 'vector<T>::iterator b' 时无法推断 'T' 的类型?

有以下代码: 模板 void test(const typename std::vector::iterator &i){ } int main(int argc, char **argv) { std::向量 a; 测试(a.


将数组转换为HashMap的更简单方法

下面的代码会将数组中每种颜色的最大值转换为hashmap。也在 Rust 游乐场。 使用 std::collections::HashMap; 使用 std::cmp; fn 主() { 让数组= [ ...


如何限制lambda参数的参数只能是引用?

我正在尝试设计一个像这样的简单函数: 无效绘制(回调回调) { 绘图绘图(“名称”); 回调(绘图); std::cout << drawing.name() << std::e...


为什么 std::apply 使用函数模板会失败,但使用具有显式模板参数列表的 lambda 表达式却不会失败? [重复]

在查看 cpprefrence 中的 std::apply 引用时,我们可以看到函数模板不能作为 std::apply 的可调用对象传递。让我们考虑以下函数模板: 模板<


如何在标准字符串中搜索/查找和替换?

对于 std::strings,如何将所有出现的子字符串替换为另一个字符串? std::string s (“一个你好,两个你好。”); s = s.replace("你好", "世界"); //


浮点输出出现意外结果

使用命名空间std; #定义模1e9+7 int main(){ 计算< using namespace std; #define mod 1e9+7 int main(){ cout<<mod; cout<<endl<<fixed<<mod; } 输出: 1e+009 1000000007.000000 我认为在这种情况下,mod 是一个浮点数,因此第一个给出 1e+009 作为输出,这可能是由于浮点精度所致。但是使用fixed后,为什么输出不是1000000000.000000。 (通过#include 包含所有必需的头文件) 1e9 + 7 这个数字可以在 double 中精确表示,这里没有精度损失。 但是,当您使用std::cout << mod打印它时,它会使用默认精度打印,即6位十进制数字。因此,不打印 7。 您可以使用 std::cout 操纵器调整 std::setprecision 的精度: #include <iostream> #include <iomanip> int main() { std::cout << std::setprecision(10) << mod << '\n'; } 将打印 1000000007


指向 std::vector 的指针作为输出参数

我将一个指向向量的指针作为函数中的输出参数,我不知道这是否是最佳实践: 状态接口::method(const std::vector** outVec); 我正在写...


在 Zig 中的编译时改变全局数组

我正在尝试构建一个“静态”数据数组,并继续与编译时/运行时失败作斗争。这是我正在尝试的精简版本: const std = @import("std"); 变种


给定一个索引列表,如何从 std::vector 中删除这些元素?

我先描述一下更高层次的目标。我有一个布尔值矩阵(我使用 std::vector> 作为表示)。 我想删除整行所在的所有行...


std::rotate 向右旋转给我带来堆溢出

我正在尝试解决这个leetcode问题,我应该对向量执行k个位置的右旋转。由于 std::rotate 进行左旋转,我尝试使用反向迭代器来适应...


CPP std::thread 尝试使用已删除的函数

首先,我想说我已经对这个主题进行了研究,但没有任何相关...... (使用 clang 在 Mac OS X 上创建 std::thread 时出错:“尝试使用已删除的函数”...


确保 std::vector 始终对齐以实现最佳 SIMD 执行的方法?

我想要 X 数量的相同大小的 std::vectors,我可以在 for 循环中一起处理它们,该循环以线性方式从开始到结束。例如: 对于 (int i = 0; i <


正在使用std::tuple来实现运算符<, = etc. efficient and correct?

我发现我最近经常使用 std::tuple 来实现排序、相等运算符,如下例所示。这是一个正确且有效的方法吗?当多个变量时它特别有用...


了解 std::function 的开销并捕获同步 lambda

考虑以下简单示例: #包括 #包括 #包括 #包括 #包括 #包括...


我可以创建类型别名来指定 std 容器的分配器吗?

我想使用我的自定义分配器为 std 中的容器定义类型别名,例如 输入 MyBox = Box; 然而我被告知 错误[E0229]:关联的类型绑定不是


C++:将 std::string 分配给缓冲区数组

在处理必须与 C 代码互操作的代码时,我经常遇到这个问题,其中有一个 std::string ,您需要将其内容复制到普通的 char 缓冲区,如下所示: 结构体T {...


共享在 Rust 中实现 Trait 的对象

我有一个对象特征,可以从某个索引提供字节。这些可能是文件、正在跟踪的进程、其他字节提供程序上的缓存等: 使用 std::结果::结果; 使用 std::io::Error ;


如何解决 Substrate `std' 中的重复 lang 项('myexternalcrate' 所依赖的):'panic_impl' 与 sr-io 冲突

我在 Substrate 1.0 运行时模块(基于节点模板)中使用 extern crate,它给出的编译错误为 板条箱“std”中存在重复的 lang 项目(“myexternalcrate”依赖于“myexternalcrate”):“pani...


是否有更简洁的方式来表示以毫秒和小时为单位的持续时间?

此 C++ 代码片段以毫秒和小时为单位打印持续时间: #包括 #包括 #包括 使用命名空间 std; 使用命名空间 std::chrono; int main() { 自动...


有没有办法找到我的代码中所有出现的 std::vector<bool> ?

我管理一个包含很多模板类的大型复杂代码。 我想禁止在代码中使用 std::vector (因为这是编译问题的一个反复出现且痛苦的原因......


从初始值设定项列表转换为“A”将使用显式构造函数“A::A(int)”

我正在尝试将旧的 C++03 代码库迁移到 C++11。但我无法理解 gcc 在以下情况下警告我的内容: % g++ -std=c++03 t.cxx % g++ -std=c++11 t.cxx t.cxx:功能中...


std::unique_ptr 支持花式指针吗?

std::unique_ptr 可以只管理指针,还是也可以管理奇特的指针(类似指针的类型)? 我认为“花式指针也是如此”,因为对于像文件/套接字这样的资源,花式指针可能是一个很棒的


© www.soinside.com 2019 - 2024. All rights reserved.