小编Fla*_*Cat的帖子

C++ - 如何让多个线程写入文件

我目前正在编写一个使用线程将字符串写入文件的c ++程序.我使用ofstream来编写这些字符串,我注意到只有一个线程可以访问该文件.

所以我的问题:有没有办法在不同的线程中使用ofstream写入同一个文件?

如果有可能,任何例子都会很棒.如果没有,请告诉我,以及解决这个问题的一些方法会很棒.我查看了以下链接,除了它对我没有意义: 如果所有线程都写入不同的位置,多个线程可以同时写入文件吗?

提前致谢!

c++ string multithreading file ofstream

5
推荐指数
1
解决办法
9287
查看次数

是否更快地访问char*或std :: string的元素?

在c ++中看过char*vs std :: string,但我仍然想知道访问a的元素char*是否比快std::string.

如果您需要知道,char*/ std::string将包含少于80个字符,但我想知道如果有一个截止值.

如果存在差异,我也想知道不同编译器和不同操作系统对这个问题的答案.

提前致谢!

编辑:我将使用array[n],访问元素,并将值设置一次.

(注意:如果这不符合帮助中心的要求,请告诉我如何在投票之前重新改写它)

c++ arrays string performance c++11

2
推荐指数
1
解决办法
116
查看次数

在C++中转换为大写

假设你有:

const char * something = "m";
Run Code Online (Sandbox Code Playgroud)

如何使用toupper(或其他东西,如果适用)制作这个大写字母?

我想用一个char *而不是一个string(我可以使用一个字符串,但我必须使用str.c_str()).

那么,如何才能让char * something = "m";含有"M"

c++ string uppercase toupper

1
推荐指数
3
解决办法
2万
查看次数

为什么printf不等同于scanf?

我有一个显示"hi"的程序,但我不明白为什么.

我理解scanf和printf都会返回它们读/写的字符数,但在这种情况下它是如何工作的?

void main()
{
    if(printf==scanf)
        printf("hello");
    else
        printf("hi");
}
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
178
查看次数

标签 统计

c++ ×3

string ×3

arrays ×1

c ×1

c++11 ×1

file ×1

multithreading ×1

ofstream ×1

performance ×1

toupper ×1

uppercase ×1