c++ - c++如何处理ifstream和char数组的 ">>"操作?

标签 c++ linux

如果我这样做

ifstream stat_stream("filepath",ios_base::in);
char pid[128];
stat_stream >> pid;

C++ 是否会对我的 char[](比如 std::string)进行任何隐式转换,还是会保持原样?

编辑:为清楚起见,我想确保这是异步信号安全的,因为在需要文件 io 时它可能是安全的。我实际上只是将隐式转换作为 Not Acceptable 操作的示例。

最佳答案

C++ 不会隐式地将您的 char[] 更改为 std::string。您可以通过执行以下操作来判断类型:cout<<typeid(pid).name()<<endl;

希望这对您有所帮助。

关于c++ - c++如何处理ifstream和char数组的 ">>"操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515169/

相关文章:

c++ - Linux C++用户空间应用程序实时休眠功能(POSIX、Raspberry Pi)

linux - ./executable 和 . 之间的区别可执行的

android - 调试失败的 Ant 构建

arrays - Bash Looping 2 Arrays with whitespaces in variables

c++ - 将所有函数转换为类

c++ - 如何将串口传入数据写入文本文件(.txt)

c++ - 如何将使用 ExternalProject_Add 安装的库添加到目标包括

java - JavaFX 运行时 JAR 文件 jfxrt.jar 在 Linux 上的位置是什么?

linux - 为什么使用 sed 删除不起作用?

c++ - 带参数的 std::basic_ostream