im钱包下载后删除|iostream stream error

作者: im钱包下载后删除
2024-03-08 18:54:49

flunet中iostream stream error - 知乎

flunet中iostream stream error - 知乎切换模式写文章登录/注册flunet中iostream stream errorfire默默无闻的地球人"iostream stream error"在Fluent中通常表示在读取或写入文件时发生了错误。这种错误可能是由以下原因引起的:1.文件路径错误:确保您已经指定了正确的文件路径。如果文件路径不正确,则无法读取或写入文件。2.文件权限问题:在某些情况下,您可能没有足够的权限来读取或写入特定的文件。请检查文件权限并确保您有足够的权限来访问文件。3.文件损坏:文件损坏可能会导致读取或写入文件时出现错误。请确保您要读取或写入的文件没有受到任何损坏。4.其他错误:还可能由于其他原因导致"iostream stream error"错误。您可以尝试在其他计算机上尝试读取或写入相同的文件以确定是否出现类似的错误,或者与FLUENT的技术支持团队联系以获取更多帮助。发布于 2023-06-06 19:23・IP 属地四川fluent​赞同​​添加评论​分享​喜欢​收藏​申请

小白求助【fluent吧】_百度贴吧

小白求助【fluent吧】_百度贴吧

网页资讯视频图片知道文库贴吧地图采购 进入贴吧全吧搜索吧内搜索搜贴搜人进吧搜标签    日一二三四五六                                          签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力! 本吧签到人数:0 一键签到可签7级以上的吧50个一键签到 本月漏签0次!0成为超级会员,赠送8张补签卡如何使用?点击日历上漏签日期,即可进行补签。连续签到:天  累计签到:天0超级会员单次开通12个月以上,赠送连续签到卡3张使用连续签到卡 03月08日漏签0天 fluent吧 关注:16,698贴子:86,271

看贴

图片

吧主推荐

游戏

19回复贴,共1页

<返回fluent吧>0< 加载中... 小白求助 只看楼主收藏回复

贴吧用户_54R71JD

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 fluentError: Unable to open C:\Users\Administrator\Desktop\fluent-19.cas.h5 for writing.: iostream stream errorError Object: #f大佬们,这个错误怎么解决啊 送TA礼物

IP属地:陕西来自iPhone客户端1楼2021-06-17 22:13回复

贴吧用户_5GaA67P

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 你这个问题解决了没,我也出现了 IP属地:甘肃2楼2021-10-09 12:55回复收起回复

馀月桑

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我也遇到了,大佬救命啊!!!!! IP属地:黑龙江3楼2021-10-13 01:19回复收起回复

机械如意大师人

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 保存路径不对 IP属地:广东4楼2021-12-27 15:37回复(2)收起回复

龙猫猫儿啊

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 auto save 里面更换路径 IP属地:辽宁7楼2022-05-31 16:10回复(4)收起回复

她说666789

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 大家解决了吗这个问题 IP属地:北京来自Android客户端10楼2022-11-10 11:16回复(3)收起回复

开心66616

1L喂熊1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 请问楼主解决了嘛,我也遇到这个问题了 IP属地:山东来自iPhone客户端11楼2022-12-07 01:49回复收起回复

扫烟囱的男人

鸭梨山大11

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 翻译一下就知道了 IP属地:安徽来自iPhone客户端12楼2022-12-07 07:53回复收起回复

Nwws111

自带板凳3

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 怎么解决啊啊Error: Unable to open F:/jiedan/2023/4/4-12/cas/fluent_1-18-20.000000.dat.h5 for writing.: iostream stream error IP属地:青海13楼2023-04-24 15:16回复收起回复 登录百度账号扫二维码下载贴吧客户端下载贴吧APP看高清直播、视频! 贴吧热议榜 1《龙珠》作者鸟山明去世1712760 2三八妇女节送什么给妈妈好1711725 3盘点所有小丑牌,你来打分1254316 4大学我有四不上998460 5崩坏星穹铁道v4总结730938 6国足31人大名单699950 7如何评价沙丘2的路人口碑502488 8海贼王作者发文悼念鸟山明370691 9库里受伤272184 10瑞典正式加入北约217287 贴吧页面意见反馈违规贴吧举报反馈通道贴吧违规信息处理公示

19回复贴,共1页

<返回fluent吧 发表回复 发贴请遵守贴吧协议及“七条底线”贴吧投诉 停止浮动 内  容: 使用签名档  查看全部 发 表 保存至快速回贴 退 出 ©2024 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示

<

#最全面# VS 出现 无法打开 iostream 的错误_无法打开 源 文件 "iostream". 请运行“选择 intellisense 配置...”命令-CSDN博客

>

#最全面# VS 出现 无法打开 iostream 的错误_无法打开 源 文件 "iostream". 请运行“选择 intellisense 配置...”命令-CSDN博客

#最全面# VS 出现 无法打开 iostream 的错误

最新推荐文章于 2022-03-18 02:43:32 发布

energy_百分百

最新推荐文章于 2022-03-18 02:43:32 发布

阅读量2.3w

收藏

15

点赞数

11

分类专栏:

c++混合编程

VS配置问题

环境配置

文章标签:

visual studio

c++

windows

iostream

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/lch551218/article/details/104357311

版权

环境配置

同时被 3 个专栏收录

17 篇文章

0 订阅

订阅专栏

c++混合编程

4 篇文章

0 订阅

订阅专栏

VS配置问题

3 篇文章

2 订阅

订阅专栏

对于使用vs运行项目时,出现无法打开 iostream 的错误,网上一般有这三种方法:

方法一

→工具 → 导入和导出设置 → 重置所有设置 → 下一步 → 选择“是否保存当前设置(这个我选择的是直接重置)”, →下一步 → 选择“要重置的开发语言(如,Visual C++开发设置)” → 完成

方法二

如果在VS2010以后的版本中使用 #include “iostream” 的方式引入 iostream 模块,可以使用 如下语句替换 #include “iostream” 语句解决此问题。

#include

#include

using namespace std;

注: 这个头文件是VC6.0带的文件,在VS2010里面没有这个头文件,自然就不能直接include。

方法三

如果你的电脑之前卸载过相同版本的vs,且两次vs安装的目录不同,那么出现此问题很可能是因为之前的vs配置文件没有卸载干净,vs按之前的路径去加载iostream模块,而之前的vs文件已经卸载,故出现此错误。vs的完全卸载请参考我的这篇文章→VS完全卸载教程

优惠劵

energy_百分百

关注

关注

11

点赞

15

收藏

觉得还不错?

一键收藏

打赏

知道了

2

评论

#最全面# VS 出现 无法打开 iostream 的错误

对于使用vs运行项目时,出现无法打开 iostream 的错误,网上一般有这三种方法:方法一→工具→ 导入和导出设置→ 重置所有设置→ 下一步→ 选择“是否保存当前设置(这个我选择的是直接重置)”,→下一步→ 选择“要重置的开发语言(如,Visual C++开发设置)”→ 完成方法二如果在VS2010以后的版本中使用 #include “iostream” 的方式引入 ios...

复制链接

扫一扫

专栏目录

VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h” 或者 检测到 #include 错误,请更新includePath) (POSIX API)

08-18

主要介绍了VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h” 或者 检测到 #include 错误。请更新includePath) (POSIX API),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

VS(visual studio)遇到无法打开iostream的解决方案

devxzh

12-08

3万+

近期配置一些项目时,莫名其妙的连本身iostream头文件都无法打开了

最后尝试重置VS C++,并成功解决了该问题。

我的版本是vs2013,方式如下

Tools -> Import and Export -> Reset all -> ..

工具 → 导入和导出设置 → 重置所有设置 → 下一步 → 

选择“是否保存当前设置(这个我选择的是直接重置)”,

下一步 → 选择“要重

2 条评论

您还未登录,请先

登录

后发表或查看评论

vscode 如何配置c/c++环境

10-06

vscode 如何配置环境,有可能有点繁琐 也有可能会有点错误,如有发现错误,请回复立刻更正

VS2013无法打开源文件iostream

wangguangya_的博客

05-19

6107

Error:VS2013无法打开源文件iostream,导致后续的一系列关键字如cin、cout等无法使用,如下图所示。

My Solution:打开工程—>点击属性管理器—>打开属性表,点击VC++目录—>1:可执行包含目录;add:D:\VS2013\VC\bin

—>2:包含目录;add:D:\VS2013\VC\include

—>3:库目录;add:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib

#include"iostream.h"

10-29

#include"iostream.h"

#include"stdlib.h"

class memory;

class memorynode

{

public:

friend class memory;

memorynode(int add,int s);//初始内存空间

memorynode(char n,int s);//分区

vscode配置c/c++环境文件

05-31

vscode配置c/c++环境文件

VS打开程序,导入lib和include步骤和无法打开源文件 string

娱乐至上的博客

02-23

5429

当需要将程序压缩后,发到另一台电脑打开程序时,记录一下需要进行的步骤

导入程序中包括的lib库和include文件夹

① 从笔记本可以运行的程序中,压缩发到台式机,需要更改的地方如下:

② 将VS设置成 x86 和 debug

① VC++目录 -》 “包含目录”和库目录分别填入 include 和lib 所在文件夹

② C/C++ 常规 -》 附加包含目录

③预处理器 -> 预处理器定义 输入 _CRT_SECURE_NO_WARNINGS

④链接器-》常规-》附加库目录,加入lib所在文件

重装VS后无法打开iostream文件解决办法

JoliceYu的技术博客

05-08

1万+

这几天重装了VS2012编译器,重装后发现了一个问题,之前用VS2012创建的可以运行的工程,现在打开运行都显示iostream库打不开,以及一些基本的c++的基础库都没法打开,后来发现是因为自己重装了VS的时候,重装的VS的路径和重装前的不一样所致。解决办法

办法1:再次重装VS,注意这次重装的路径要和之前的第一次的路径相同。

办法2:将之前的创建的工程的源文件都拷贝,在重装后的VS下创建工程

CUDA文件中无法打开源文件<stdio.h>

LLABVIEW的博客

03-18

6384

问题

注意!!!是在创建CUDA的文件中显示无法打开源文件

CUDA 版本:10.1

VS 版本:2017

解决方案

方案1.按照从新设置包含目录的方法,成功。附上网上大神链接

方案2.无视错误试着运行一下,竟然可以运行。

说明此种问题很有可能是内部某些设置为刷新缘故,那就简单了!

1.打开项目属性

2.随便找一个能选择 “是\否” 的项目,将 “是” 改为 “否” 或者将 “否” 改成 “是” ,点击右下角 “应用” -> ”确定” 。

3.这时能看到一切已经正

VSCode检测到include错误,无法打开源文件

热门推荐

qq_53653262的博客

10-05

4万+

有时候我们的vscode会出现无法打开源文件的情况,在这里我将展示如何配置vscode和解决这个问题

配置C++环境

前言

一、软件安装

二、配置过程

1.配置环境变量

2.配置vscodeC/C++环境

总结

前言

有很多新人或者老手出现了这个问题,但是网上很多解决方法并不方便快捷,本人经过反复尝试终于找到一种快捷方法。

一、软件安装

首先下载VSCode,官网上就有

然后下载和安装MinGW,下载地址:https://osdn.net/projects.

IOStream

02-21

IOStream

vc++2008编译不了#include头文件

05-23

vc++2008编译不了#include头文件

#include

#include

using namespace std;九九乘法表

03-07

第一次编译

iostream与iostream.h的区别详细解析

09-05

以下是对C++中iostream与iostream.h的区别进行了详细的分析介绍,需要的朋友可以过来参考下

Android IOStream实例操作源代码.rar

07-10

Android IOStream实例操作源代码,针对IO流操作与学习android的初级编程者共勉。

#include

06-08

#include #include using namespace std; int main() { int n,i,k=0; cin>>n; for(i=n*n;i>=1;i--) { cout(5); k++; if(k%n==0) cout; } cout; return 0;

C语言头文件 IOSTREAM.H

06-12

C语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC语言头文件 IOSTREAM.HC...

C语言头文件 IOSTREAM

06-12

C语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAMC语言头文件 IOSTREAM...

vs无法打开源文件iostream

最新发布

08-29

当在Visual Studio中打开工程时出现无法打开源文件"iostream"的错误提示时,可以尝试以下解决方法:

1. 确保已经正确安装了C++编译器和对应的标准库。在Visual Studio安装时,可以选择安装C++开发工作负载,以确保安装了所需的组件。

2. 检查项目的包含目录设置是否正确。在Visual Studio中,可以通过右键点击项目 -> 属性 -> C/C++ -> 常规 -> 附加包含目录来查看和修改包含目录设置。确保包含目录中包含了C++标准库的路径,一般为 `\VC\Tools\MSVC\<版本号>\include`。

3. 确保工程中的文件路径正确。在Visual Studio中重新打开工程时,应该直接点击工程文件(如Test.vcxproj),而不是具体的源文件(如.cpp文件)。点击工程文件会自动加载工程配置和相关文件,以确保源文件能够正确引用到。

通过以上方法,应该能够解决无法打开源文件"iostream"的问题。如果问题仍然存在,可以尝试重新安装Visual Studio或者更新版本。123

#### 引用[.reference_title]

- *1* *2* *3* [visual studio使用问题:出现E169无法打开源文件“iostream”“cmath““cstring“等等](https://blog.csdn.net/Mr_zhang1911116/article/details/123566577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]

[ .reference_list ]

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

energy_百分百

CSDN认证博客专家

CSDN认证企业博客

码龄13年

企业员工

195

原创

1万+

周排名

183万+

总排名

93万+

访问

等级

9052

积分

184

粉丝

814

获赞

231

评论

2052

收藏

私信

关注

热门文章

#从源头解决# 自定义头文件在VS上出现“无法打开源文件“XX.h“的问题

45656

通俗理解 什么是量纲

45082

#最全面# VS 出现 无法打开 iostream 的错误

23474

linux下启动 nginx 提示 ‘Welcome to CentOS...’

18704

#从根本解决# uwsgi --ini uwsgi.ini 无法绑定端口

17601

分类专栏

概率基础

12篇

机器学习

72篇

NLP

23篇

深度学习

31篇

Pytorch

3篇

数据结构

4篇

集成学习

1篇

Pyqt5

10篇

环境配置

17篇

python编程

65篇

linux编程

24篇

django

19篇

html

10篇

opencv

2篇

Pycharm

5篇

爬虫

4篇

成果分享

1篇

c++混合编程

4篇

Python语法糖

2篇

VS配置问题

3篇

c++

6篇

TensorFlow

24篇

经典算法

1篇

网络编程

5篇

MongoDB

1篇

云服务器

9篇

eeglab

1篇

matlab算法

2篇

matlab编程

2篇

mysql

5篇

nginx

9篇

javascript

4篇

Git

8篇

Github

6篇

Redis

2篇

docker

4篇

速查资料

5篇

多线程

1篇

pipenv

2篇

域名设置

1篇

个人博客

1篇

远程仓库

1篇

vscode

1篇

cell

1篇

元胞

1篇

最新评论

通俗理解 Adam 优化器

林声声:

你好,请问公式来源于哪里呀,有链接吗

#根本上解决# 使用 Pyinstaller 打包后 出现 lib not found 错误

Matcha芥末酱:

其实没有解决问题,很难给你一个赞

#深度解析# 深度学习中的SGD、BGD、MBGD、Momentum、NAG、Adagrad、Adadelta,RMSprop、Adam优化器

丝诺温忒:

能不能注释下公式里符号都是啥啊?

#根源解决# pyqt5 打包后出现 Could not find QtWebEngineProcess.exe 错误

阿凉0702:

请问QtWebEngineProcess.exe 有办法在中文路径下调用吗,感觉打包的时候还要限制非中文也挺麻烦的找了很久好像没有什么好办法

#超详细# 完全卸载 vs

ReverieX:

1519393154@qq.com

多谢大佬提供链接!

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

对 Relu激活函数导致 [ 神经元死亡 ] 的理解

#深入理解# 线性回归中的“线性”、以及最小二乘和梯度下降的理解

#浅谈# 构造哈夫曼树

2021年85篇

2020年101篇

2019年10篇

目录

目录

分类专栏

概率基础

12篇

机器学习

72篇

NLP

23篇

深度学习

31篇

Pytorch

3篇

数据结构

4篇

集成学习

1篇

Pyqt5

10篇

环境配置

17篇

python编程

65篇

linux编程

24篇

django

19篇

html

10篇

opencv

2篇

Pycharm

5篇

爬虫

4篇

成果分享

1篇

c++混合编程

4篇

Python语法糖

2篇

VS配置问题

3篇

c++

6篇

TensorFlow

24篇

经典算法

1篇

网络编程

5篇

MongoDB

1篇

云服务器

9篇

eeglab

1篇

matlab算法

2篇

matlab编程

2篇

mysql

5篇

nginx

9篇

javascript

4篇

Git

8篇

Github

6篇

Redis

2篇

docker

4篇

速查资料

5篇

多线程

1篇

pipenv

2篇

域名设置

1篇

个人博客

1篇

远程仓库

1篇

vscode

1篇

cell

1篇

元胞

1篇

目录

评论 2

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

打赏作者

energy_百分百

你的鼓励将是我创作的最大动力

¥1

¥2

¥4

¥6

¥10

¥20

扫码支付:¥1

获取中

扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

关于C ++:ifstream打开失败时如何获取错误消息 | 码农家园

关于C ++:ifstream打开失败时如何获取错误消息 | 码农家园

码农家园

关闭

导航

关于C ++:ifstream打开失败时如何获取错误消息

c++error-handlingstdstream

How to get error message when ifstream open fails

12345678ifstream f;

f.open(fileName);

if ( f.fail() )

{

    // I need error message here, like"File not found" etc. -

    // the reason of the failure

}

如何获取错误信息作为字符串?

相关讨论

C ++ ifstream错误检查的可能重复项

C ++流打开失败时,您能否获得特定的错误条件?

@Alex Farber:当然可以。 cerr <<"Error code:" << strerror(errno); Get some info as to why似乎与该问题有关。

@MatthieuRouget:检查我发布的可能重复项-看来这是仅由gcc实现的非标准行为。

@MatthieuRouget:strerror(errno)有效。 将其发布为答案,我会接受。

每个失败的系统调用都会更新errno值。

因此,您可以通过使用类似以下内容的信息来进一步了解ifstream打开失败时的情况:

1cerr <<"Error:" << strerror(errno);

但是,由于每个系统调用都会更新全局errno值,所以如果另一个系统调用在执行f.open和使用errno之间触发错误,则您可能在多线程应用程序中遇到问题。

在具有POSIX标准的系统上:

errno is thread-local; setting it in one thread does not affect its

value in any other thread.

编辑(感谢Arne Mertz和其他人的评论):

e.what()起初似乎是C ++惯用的更正确的实现方式,但是此函数返回的字符串与实现有关,并且(至少在G ++的libstdc ++中)此字符串没有有关错误原因的有用信息。 ...

相关讨论

e.what()似乎没有提供太多信息,请参阅我的答案的更新。

errno在现代操作系统上使用线程本地存储。但是,不能保证在出现errno后fstream函数不会破坏errno。基本功能可能根本没有设置errno(在Linux或Win32上直接系统调用)。这不适用于许多现实世界的实现。

在MSVC中,e.what()总是打印相同的消息" iostream stream error"

warning C4996: strerror: This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\string.h(168) : see declaration of strerror

@sergiol这些都是谎言。忽略它们或禁用警告。

您可以尝试让流在失败时引发异常:

123456789101112std::ifstream f;

//prepare f to throw if failbit gets set

std::ios_base::iostate exceptionMask = f.exceptions() | std::ios::failbit;

f.exceptions(exceptionMask);

try {

  f.open(fileName);

}

catch (std::ios_base::failure& e) {

  std::cerr << e.what() << '\

';

}

但是,e.what()似乎并没有太大帮助:

我在Embarcadero RAD Studio 2010 Win7上尝试过,它给出" ios_base :: failbit set",而strerror(errno)给出"没有这样的文件或目录"。

在Ubuntu 13.04上,gcc 4.7.3异常显示为" basic_ios :: clear"(感谢Arne)

如果e.what()对您不起作用(由于该错误未标准化,我不知道它会告诉您什么错误),请尝试使用std::make_error_condition(仅C ++ 11):

12345678catch (std::ios_base::failure& e) {

  if ( e.code() == std::make_error_condition(std::io_errc::stream) )

    std::cerr <<"Stream error!\

";

  else

    std::cerr <<"Unknown failure opening file.\

";

}

相关讨论

谢谢。我没有对此进行测试,因为在评论中发布的strerror(errno)可以正常工作,并且使用起来非常简单。我认为e.what将起作用,因为errno起作用。

然后在Matthieus答案中看到有关多线程的注释-我的猜测是,e.what()将是strerror返回的内容,以线程安全的方式。两者都可能取决于平台。

@AlexFarber:我认为Arnes的回答比我的要好。我的解决方案不是解决问题的C ++方法。但是,我找不到有关C ++库如何将系统调用错误映射到exception.what()的官方信息。可能是深入研究libstdc ++源代码的好机会:-)

我尝试了一下:尝试打开一个不存在的文件,并且异常消息显示为basic_ios::clear,除此之外没有其他内容。这真的没有帮助。那就是为什么我没有发布;)

@arne wich平台,编译器,操作系统?

@MatthieuRouget看到我对答案的更新-我更喜欢我正在使用的平台上的strerror。 (尽管我更喜欢使用另一个编译器,TBH)

@ArneMertz:amd64,gcc版本4.7.3(Ubuntu / Linaro 4.7.3-1ubuntu1),Lubuntu 13.04,已安装所有最新更新。

@全部:好有趣。可悲的是,虽然我的答案似乎是不错的答案,但看起来却很"老派"。更新了我的答案。附带说明一下,在libstdc ++源代码中ios_base::failure构造函数的调用中,除了静态字符串,我什么都没有看到。(即,没有引用看起来像errno的东西)

在@Arne Mertz的答案之后,从C ++ 11开始,std::ios_base::failure从system_error继承(请参阅http://www.cplusplus.com/reference/ios/ios_ios/failure/),其中包含错误代码和strerror(errno)将返回的消息。

12345678910std::ifstream f;

// Set exceptions to be thrown on failure

f.exceptions(std::ifstream::failbit | std::ifstream::badbit);

try {

    f.open(fileName);

} catch (std::system_error& e) {

    std::cerr << e.code().message() << std::endl;

}

如果fileName不存在,则打印No such file or directory.。

相关讨论

对我而言,在MSVC 2015中仅打印iostream stream error。

对我来说,GCC 6.3也会打印iostream error。您在哪个编译器上对此进行了测试?是否有任何编译器实际上提供了用户可读的失败原因?

macOS上的libc ++上的Clang 6:unspecified iostream_category error。

MacOS 10.14.x上的Xcode 10.2.1(Clang)/ libc ++(C ++ 17):也是"未指定的iostream_category错误"。 strerror(errno)SEEMS是获得此权利的唯一方法。我想我可以首先通过询问std :: filesystem是否path.exists()并检查返回的std :: error_code来捕获它。

您还可以抛出std::system_error,如下面的测试代码所示。与f.exception(...)相比,此方法似乎产生了更具可读性的输出。

1234567891011121314151617181920212223#include // <-- requires this

#include

#include

void process(const std::string& fileName) {

    std::ifstream f;

    f.open(fileName);

    // after open, check f and throw std::system_error with the errno

    if (!f)

        throw std::system_error(errno, std::system_category(),"failed to open"+fileName);

    std::clog <<"opened" << fileName << std::endl;

}

int main(int argc, char* argv[]) {

    try {

        process(argv[1]);

    } catch (const std::system_error& e) {

        std::clog << e.what() <<" (" << e.code() <<")" << std::endl;

    }

    return 0;

}

示例输出(带c声的Ubuntu):

12345678$ ./test /root/.profile

failed to open /root/.profile: Permission denied (system:13)

$ ./test missing.txt

failed to open missing.txt: No such file or directory (system:2)

$ ./test ./test

opened ./test

$ ./test $(printf '%0999x')

failed to open 000...000: File name too long (system:36)

Copyright ©  码农家园 联系:[email protected]

请教一个关于Dev C++中iostream头文件的问题? - 知乎

请教一个关于Dev C++中iostream头文件的问题? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册C(编程语言)C++C / C++C 程序设计Dev-C++请教一个关于Dev C++中iostream头文件的问题?如图,这个问题已经出现好几次了,按csdn的说法是没有敲命名空间std那一行,可是的确已经敲了啊。 然后我的解决方法每次都是卸载dev c++,然后重…显示全部 ​关注者3被浏览5,293关注问题​写回答​邀请回答​好问题​添加评论​分享​3 个回答默认排序坚果小强​电气专业的代码爱好者​ 关注报错出在iostream那个文件中,你下次再出现这种问题保留第一次报错的代码,把代码和头文件报错的地方截图补充到问题里吧。另外再出现这种问题把string改成cstring试试?怀疑string和iostream互相包含。非计算机专业,有问题请指正,为学习而来。编辑于 2021-08-14 15:56​赞同​​1 条评论​分享​收藏​喜欢收起​匿名用户这个问题因为奇怪而很有意思,你可以这么做:a. 不能用时,把 dev-cpp 目录,以及 mingw 目录,拷贝一份;b. 重装dev-cpp,比较一下新旧两个目录中哪些文件被修改了,修改了啥记得告诉我答案,好奇发布于 2021-08-13 09:49​赞同​​2 条评论​分享​收藏​喜欢收起​​

"error in IOstream" -- CFD Online Discussion Forums

"error in IOstream" -- CFD Online Discussion Forums

[Sponsors]

Home

News

Index

Post News

Subscribe/Unsubscribe

Forums

Main CFD Forum

System Analysis

Structural Mechanics

Electromagnetics

CFD Freelancers

Hardware Forum

Lounge

Software User Forums

ANSYS

CFX

FLUENT

Meshing & Geometry

Autodesk

AVL FIRE

COMSOL

CONVERGE

Fidelity CFD

FloEFD & FloTHERM

FLOW-3D

OpenFOAM

News & Announcements

Installation

Meshing

Pre-Processing

Solving

Post-Processing

Programming

Verification & Validation

Community Contributions

Journal

Bugs

Phoenics

REEF3D

News & Announcements

Siemens

STAR-CCM+

STAR-CD

SU2

News & Announcements

Installation

Shape Design

Pre-processors

ANSA

enGrid

GridPro

Pointwise

Post-Processors

EnSight

FieldView

ParaView

Tecplot

Special Topics

Mesh Generation

Visualization

CFD Online Community

Site News

Site Help & Discussions

CFD-Wiki

Wiki

Introduction

Recent Changes

Reference Section

Fluid Dynamics

Turbulence Modeling

Numerical Methods

Meshing

Special Topics

Aero-Acoustics

Combustion

Parallel Computing

Turbulence

Application Areas

Aerospace

Automotive

Turbomachinery

Best Practice Guides

Automotive CFD

Turbomachiney CFD

Heat Transfer CFD

Validation Cases

Codes

Source Code Archive

FAQ's

Ansys

CHAM

CONVERGE

Fluent

Metaconp

MeteoDyn

Siemens

History of CFD

About CFD-Wiki

Help

FAQ

Getting Started

Community Portal

Donate Texts

Donated Texts

Links

What's New

Introduction

Modeling & Numerics

Turbulence

Combustion

Discretization Schemes

Solvers

Multigrid Methods

Finite Element Methods

Cartesian Methods / AMR

Numerial Analysis

Mesh Generation

General Resources

Selected Projects

Companies

Programming & Dev.

Data Formats

Software Libraries

Numerical Software

Parallel Computing

General Sites

Software

Fluid Dynamics

Mesh Generation

Visualization

Commercial CFD Codes

Hardware

Benchmarks

News and Reviews

Hardware Vendors

Clouds

Clusters

GPGPU

Misc

References

Validation Cases

Airfoils

Material Properties

Glossaries

Finding Documents

Preprints Online

Papers & Reports

Books

Journals

Publishers

Online Tools

Unit Converters

Calculators

y+ Estimation

Compressible Flow

Heat Transfer

Airfoil Generators

Simple Cases

Combustion

Cycles & Processes

Online Books & Guides

CFD Introductions

Books

Best Practice Guidelines

Fluid & Aero Dynamics

Seminars

Encyclopedias

Social Media

Discussion Forums

Blogs

Twitter

YouTube

Facebook

LinkedIn

Podcasts

Usenet Newsgroups

Mailing Lists

Chats

News

Education

CFD Programmes

Online Labs

Online Courses

Course Material

Jobs

CFD Job Resources

Companies & Orgs.

General Resources

Events

Event Calendars

Specific Organizations

Vendor Events Lists

Misc

Pictures and Movies

Fun

Links to Links

Suggest New Link

About this Section

Jobs

Post Job Ad

List All Jobs

List Jobs by Type

Job in Industry (20)

Job in Academia (44)

PostDoc Position (31)

PhD Studentship (63)

Internship (3)

Diploma Work (2)

List Jobs by Location

Asia

China (16)

India (14)

Israel (4)

Malaysia (2)

South Korea (2)

Taiwan (2)

Thailand (1)

Turkey (1)

Europe

Austria (6)

Belgium (3)

Czech Republic (4)

France (19)

Germany (16)

Ireland (1)

Netherlands (6)

Spain (1)

Sweden (2)

United Kingdom (15)

North America

Canada (3)

United States (41)

Oceania

Australia (1)

New Zealand (1)

South America

Brazil (1)

Chile (1)

Search Job Ads

Events

Post New Event

List All Events

List Events by Type

Conferences (5)

Online Events (5)

List Events by Location

Asia

India (2)

Europe

Germany (2)

Montenegro (1)

North America

United States (4)

Oceania

New Zealand (1)

Tools

RPN Calculator

Scientific Calculator

Unit Conversion

Y+ Estimation

Turbulence Properties

Feeds

News

Blogs

Vendors

Jobs

Journals

About

About CFD Online

Privacy Policy

Contacts & Feedback

Web Server Statistics

List of Sponsors

Advertising on this Site

Search

Home > Forums

> Software User Forums

> OpenFOAM

> OpenFOAM Running, Solving & CFD

Blogs

Recent Entries

Best Entries

Best Blogs

Blog List

Search Blogs

"error in IOstream"

User Name

Remember Me

Password

Register

Blogs

Community

New Posts

Updated Threads

Search

New Today

All Forums

Main CFD Forum

ANSYS - CFX

ANSYS - FLUENT

ANSYS - Meshing

Siemens

OpenFOAM

SU2

Last Week

All Forums

Main CFD Forum

ANSYS - CFX

ANSYS - FLUENT

ANSYS - Meshing

Siemens

OpenFOAM

SU2

Updated Today

All Forums

Main CFD Forum

ANSYS - CFX

ANSYS - FLUENT

ANSYS - Meshing

Siemens

OpenFOAM

SU2

Last Week

All Forums

Main CFD Forum

ANSYS - CFX

ANSYS - FLUENT

ANSYS - Meshing

Siemens

OpenFOAM

SU2

Community Links

Members List

Search Forums

Show Threads

 

Show Posts

Tag Search

Advanced Search

Search Blogs

Tag Search

Advanced Search

Go to Page...

2Likes

Top

All

This Page

1

Post By babakflame

1

Post By babakflame

 

LinkBack

Thread Tools

Search this Thread

Display Modes

  November 6, 2017, 19:07

"error in IOstream"

 

#1

babakflame

Senior Member

 

Bobby

Join Date: Oct 2012

Location: Michigan

Posts: 454

Rep Power: 15

Dear Fellows

I have been running a case for a long time on a cluster. After a while and after of multiple time step saving, once I wanted to continue the simulation, this error popped up:

Code:

error in IOstream "/home/babak/Ue_40_Final_copy/constant/polyMesh/owner" for operation operator>>(Istream&, List&) : reading entry

file: /home/babak/Ue_40_Final_copy/constant/polyMesh/owner at line 15268734.

From function IOstream::fatalCheck(const char*) const

in file db/IOstreams/IOstreams/IOstream.C at line 114.

FOAM exiting

I know that this error might be due to disk lackage of free space. However, I have sufficient space. I can not use any commands c.f.

blockMesh, renumberMesh or etc.

Even, when I try to decompose from the previous saved time steps (any time step). It reverts the same error. It seems that suddenly lost this case for no clear reason.

Can sb hint me what really happened here?

Regards

kai_sh99 likes this.

 

  November 7, 2017, 13:19

 

#2

babakflame

Senior Member

 

Bobby

Join Date: Oct 2012

Location: Michigan

Posts: 454

Rep Power: 15

Dear All,

I am answering myself, It might be useful for some people.

In my case, I realized that actually the simulation has been terminated in the middle of

Code:

renumberMesh -overwrite

command. As a matter of fact, as the error says, the mesh is corrupted. I replaced the constant folder with another sound one.

I was able to resume the simulation from the last saved time step.

Kavi likes this.

 

«

Previous Thread

|

Next Thread

»

Thread Tools

Show Printable Version

Display Modes

Linear Mode

Switch to Hybrid Mode

Switch to Threaded Mode

Search this Thread

Advanced Search

Posting Rules

You may not post new threads

You may not post replies

You may not post attachments

You may not edit your posts

BB code is On

Smilies are On

[IMG] code is On

HTML code is OffTrackbacks are Off

Pingbacks are On

Refbacks are On

Forum Rules

All times are GMT -4. The time now is 06:54.

Contact Us -

CFD Online -

Privacy Statement -

Top

 

© CFD Online

 

LinkBack

LinkBack URL

About LinkBacks

Bookmark & Share

Digg this Thread! Add Thread to del.icio.us Bookmark in Technorati Tweet this thread

iostream stream error fluent-掘金

iostream stream error fluent-掘金

首页 首页

沸点

课程

直播

活动

竞赛

商城

APP

插件 搜索历史

清空

创作者中心

写文章 发沸点 写笔记 写代码 草稿箱 创作灵感

查看更多

会员

登录

注册

iostream stream error fluent 在 C++ 中,iostream 是一种标准库,包含了输入输出流 (stream) 的定义。流是一种抽象数据类型,用于在程序中读取或写入数据。

如果你遇到了 "iostream stream error fluent" 的错误消息,这可能是因为你的程序在读取或写入数据时遇到了问题。可能的原因包括:

你的程序试图读取或写入的文件不存在。

你的程序试图读取或写入的文件不可读或不可写。

你的程序在打开文件之前忘记了调用打开文件的函数。

你的程序在读取文件之前忘记了调用读取文件的函数。

要解决这个问题,你需要检查你的程序,确保文件存在且可读或可写,并且在读取或写入文件之前正确调用了打开文件和读取文件的函数。如果问题仍然存在,你可以尝试调试你的程序,找出错误的源头。 tornado 源码之 iostream.py IOStream 对 socket 进行包装,采用注册回调方式实现非阻塞。 ioloop 中 socket 事件发生后,调用 IOStream._handle_events 方法,对事件进行分发。

thebigfish

5年前

490

1

评论

Tornado

Fluent Formatter(IntelliJ IDEA Java插件) GitHub源码Plugin地址已替换为FluentTool功能格式化选中代码为Java流式风格一键生成链式调用的Javabuilder代码示例格式化前:流式风格格式化后:使用Fluentformat

浊酒入清梦

3年前

1.5k

3

2

IntelliJ IDEA

C++ 使用getline()从文件中读取一行字符串 我们知道,getline() 方法定义在 istream 类中,而 fstream 和 ifstream 类继承自 istream 类,因此 fstream 和 ifstream 的类对象可以调用 g

攻城狮Wayne

5月前

584

点赞

评论

架构

算法

代码规范

C++ 使用getline():从文件中读取一行字符串 getline() 方法从 cin 输入流缓冲区中读取一行字符串。在此基础上,getline() 方法还适用于读取指定文件中的一行数据,本节就给大家做详细的讲解。 我们知道,getline() 方法定

攻城狮Wayne

5月前

820

点赞

评论

架构

算法

程序员

iOS_Bonjour 编程总结二 Bonjour 是这样的一种技术,设备可以通过它轻松探测并连接到相同网络中的其他设备,整个过程只需要很少的用户参与或是根本就不需要用户参与。典型的 Bonjour 应用有 Remote 应用,AirPrint 等。建立一个 Bonjour 连接一般需要三个步骤,服务端发布服务,客户端浏览服务,客户端服务端交互。

RiverLi

6年前

2.3k

12

评论

iOS

文件和流 到目前为止,我们一直在使用 iostream 标准库,它提供了 cin 及 cout 方法,分别用于读取标准输入以及写入标准输出。 本教程将教你如何从文件中读取和写入。这需要另一个称为 fstream 的标准 C++ 库,它定义了三个新的数据类型: 使用 C++ 执行文件处理时…

和莎拉波娃谈了两年恋

4年前

254

点赞

评论

C++

Node服务端使用ffmpeg 背景 Node 使用 node-fluent-ffmpeg 进行 ffmpeg 操作,需要下载并且设置 ffmpeg 路径。node-ffmpeg-installer会自动下载ffmpeg,但是这个下

小鹿同学

1年前

970

3

评论

FFmpeg

Android JNI和NDK学习(基础篇):C++语言基础 概述上篇学习了C语言,这篇继续学习C++,这篇是建立在C基础上的真的是码字如蜗牛,写了好久才写这么多,作为笔记吧,防止以后忘记先写一个Helloworld首先打开你的文本编辑器,输入一下内容然后把文件

renxhui

3年前

5.3k

37

2

C++

iOS利用FFmpeg解析音视频数据流 利用FFmpeg解析音视频流,音视频流可以来自一个标准的RTMP的URL或者是一个文件. 通过解析得到音视频流,进一步就可以解码, 然后视频渲染在屏幕上,音频通过扬声器输出. 利用FFmpeg框架中libavformat模块可以通过函数av_read_frame解析出音视频流的…

小东邪

4年前

7.8k

28

8

iOS

c++那些事儿7 0 I O流,文件操作 ###知识点综述:```C++I/O:在iostream头文件中定义istream//通用输入流和其它输入流基类。ostream//通用输出流和其它流基类。iostream//通用输入输出流和其它输入

东风冷雪

6年前

285

点赞

评论

iOS

C++

命令行

iostream stream error: Access is denied. · Issue #1295 · FoldingAtHome/fah-issues · GitHub

iostream stream error: Access is denied. · Issue #1295 · FoldingAtHome/fah-issues · GitHub

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

FoldingAtHome

/

fah-issues

Public

Notifications

Fork

9

Star

50

Code

Issues

382

Pull requests

0

Actions

Projects

0

Wiki

Security

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Projects

Wiki

Security

Insights

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username

Email Address

Password

Sign up for GitHub

By clicking “Sign up for GitHub”, you agree to our terms of service and

privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?

Sign in

to your account

Jump to bottom

iostream stream error: Access is denied.

#1295

Closed

bb30994 opened this issue

Sep 13, 2019

· 1 comment

Closed

iostream stream error: Access is denied.

#1295

bb30994 opened this issue

Sep 13, 2019

· 1 comment

Labels

1.Type - Enhancement

Reported issue is an enhamcement.

4.OS - Windows

Reported issue occurs on Windows (Windows 10, Windows 8, Windows 7).

Comments

Copy link

bb30994

commented

Sep 13, 2019

(Simple enhancement request quoted from https://foldingforum.org/viewtopic.php?p=305171#p305171)

I have a similar issue using the 'portable version' of FAH.

Since NACL has finished, the binaries found on the site, allow me to run FAH, without installing it, and without admin privileges.

In a way, the same as NaCL, but no browser option.

I have the same issue running fahClient (CPU only) on Windows 10.

And I know it's because the program hasn't started the way it was supposed to start.

But for those who run FAHClient binaries, via a CMD window (with no install),

So far, I get the issue when exiting abruptly (closing CMD window, or repeatedly pressing CTRL + C).

Fah shuts down, but leaves one of the work directories (or files) as read-only (...."fah\work\00" folder)

The issue is resolved by closing FAH, and removing the 'read-only' tag from the '00' folder (right click, properties, remove 'read only' checkbox), and restarting fah.

I'm also running fahClient (CPU) on Windows 7, but haven't seen any access denied errors there.

Also, setting the 'hidden' option in Task Scheduler, to schedule FAH to start at boot (for those without admin rights), the 'hidden' option doesn't work. There's a FAH icon appearing in Windows Systray, but it's non functional, disappears, or causes errors with the cmd line.

Again, due to not running FAH the way it was intended (with installation), but FAH binaries do work without installation of any kind.

So, to summarize, I think the iostream errors can be prevented, by removing the read only lock on the directories.

The text was updated successfully, but these errors were encountered:

All reactions

shorttack

added

1.Type - Enhancement

Reported issue is an enhamcement.

4.OS - Windows

Reported issue occurs on Windows (Windows 10, Windows 8, Windows 7).

labels

Apr 14, 2020

Copy link

shorttack

commented

Apr 14, 2020

Closed: Windows enhancement. Not a common problem with users with FAHcontrol.

All reactions

Sorry, something went wrong.

shorttack

closed this as completed

Apr 14, 2020

Sign up for free

to join this conversation on GitHub.

Already have an account?

Sign in to comment

Assignees

No one assigned

Labels

1.Type - Enhancement

Reported issue is an enhamcement.

4.OS - Windows

Reported issue occurs on Windows (Windows 10, Windows 8, Windows 7).

Projects

None yet

Milestone

No milestone

Development

No branches or pull requests

2 participants

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

C++的iostream标准库介绍(1) - 知乎

C++的iostream标准库介绍(1) - 知乎首发于物联网学习圈切换模式写文章登录/注册C++的iostream标准库介绍(1)千锋物联网训练营​已认证账号我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的stdio库不同,它从一开始就是用多重继承与虚拟继承实现的面向对象的层次结构,作为一个c++的标准库组件提供给程序员使用。iostream为内置类型类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持自定义类型的输入输出操作。为什么说要扩展才能提供支持呢?我们来一个示例。#include

#include

using namespace std;

class Test

{

public:

Test(int a=0,int b=0)

{

Test::a=a;

Test::b=b;

}

int a;

int b;

};

int main()

{

Test t(100,50);

printf("%???",t);//不明确的输出格式

scanf("%???",t);//不明确的输入格式

cout<

cin>>t;//同样不够明确

system("pause");

}由于自定义类的特殊性,在上面的代码中,无论你使用c风格的输入输出,或者是c++的输入输出都不是不明确的一个表示,由于c语言没有运算符重载机制,导致stdio库的不可扩充性,让我们无法让printf()和scanf()支持对自定义类对象的扩充识别,而c++是可以通过运算符重载机制扩充iostream库的,使系统能能够识别自定义类型,从而让输入输出明确的知道他们该干什么,格式是什么。在上例中我们之所以用printf与cout进行对比目的是为了告诉大家,C与C++处理输入输出的根本不同,我们从c的输入输出可以很明显看出是函数调用方式,而c++的则是对象模式,cout和cin是ostream类和istream类的对象。C++中的iostream库主要包含下图所示的几个头文件:我们所熟悉的输入输出操作分别是由istream(输入流)和ostream(输出流)这两个类提供的,为了允许双向的输入/输出,由istream和ostream派生出了iostream类。类的继承关系见下图:iostream库定义了以下三个标准流对象:1.cin,表示标准输入(standard input)的istream类对象。cin使我们可以从设备读如数据。2.cout,表示标准输出(standard output)的ostream类对象。cout使我们可以向设备输出或者写数据。3.cerr,表示标准错误(standard error)的osttream类对象。cerr是导出程序错误消息的地方,它只能允许向屏幕设备写数据。输出主要由重载的左移操作符(<<)来完成,输入主要由重载的右移操作符(>>)完成。  >>a表示将数据放入a对象中。  <

在iostream.h头文件中,ostream类对应每个基本数据类型都有其友元函数对左移操作符进行了友元函数的重载。ostream& operator<<(ostream &temp,int source);

  ostream& operator<<(ostream &temp,char *ps);

  。。。。等等一句输出语句:cout<<"hahaha";,事实上调用的就是ostream& operator<<(ostream &temp,char *ps);这个运算符重载函数,由于返回的是流对象的引用,引用可以作为左值使用,所以当程序中有类似cout<<"hahaha"<<"xixixi";这样的语句出现的时候,就能够构成连续输出。由于iostream库不光支持对象的输入输出,同时也支持文件流的输入输出,所以在详细讲解左移与右移运算符重载之前,我们有必要先对文件的输入输出以及输入输出的控制符有所了解。和文件有关系的输入输出类主要在fstream.h这个头文件中被定义,在这个头文件中主要被定义了三个类,由这三个类控制对文件的各种输入输出操作,他们分别是ifstream、ofstream、fstream,其中fstream类是由iostream类派生而来,他们之间的继承关系见下图所示。由于文件设备并不像显示器屏幕与键盘那样是标准默认设备,所以它在fstream.h头文件中是没有像cout那样预先定义的全局对象,所以我们必须自己定义一个该类的对象,我们要以文件作为设备向文件输出信息(也就是向文件写数据),那么就应该使用ofstream类。ofstream类的默认构造函数原形为:ofstream::ofstream(const char *filename,int mode = ios::out,int openprot = filebuf::openprot);

  filename:  要打开的文件名

  mode:    要打开文件的方式

  prot:    打开文件的属性其中mode和openprot这两个参数的可选项表见下表:mode属性表  ios::app:   以追加的方式打开文件  ios::ate:   文件打开后定位到文件尾,ios:app就包含有此属性  ios::binary:  以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文  ios::in:    文件以输入方式打开  ios::out:   文件以输出方式打开  ios::trunc:  如果文件存在,把文件长度设为0可以用“或”把以上属性连接起来,如ios::out|ios::binary。openprot属性表:  0:普通文件,打开访问  1:只读文件  2:隐含文件  4:系统文件可以用“或”或者“+”把以上属性连接起来 ,如3或1|2就是以只读和隐含属性打开文件。示例代码如下:#include

using namespace std;

int main()

{

ofstream myfile("c:\\1.txt",ios::out|ios::trunc,0);

myfile<<"hahaha"<

myfile.close()

system("pause");

}文件使用完后可以使用close成员函数关闭文件。ios::app为追加模式,在使用追加模式的时候同时进行文件状态的判断是一个比较好的习惯。示例如下:#include

#include

using namespace std;

int main()

{

ofstream myfile("c:\\1.txt",ios::app,0);

if(!myfile)

{

cout<<"文件打开失败,目标文件状态可能为只读!";

system("pause");

exit(1);

}

myfile<<"hahaha"<

myfile.close();

}在定义ifstream和ofstream类对象的时候,我们也可以不指定文件。以后可以通过成员函数open()显式的把一个文件连接到一个类对象上。例如:#include

#include

using namespace std;

int main()

{

ofstream myfile;

myfile.open("c:\\1.txt",ios::out|ios::app,0);

if(!myfile)

{

cout<<"文件创建失败,磁盘不可写或者文件为只读!";

system("pause");

exit(1);

}

myfile<<"hahaha"<

myfile.close();

}下面我们来看一下是如何利用ifstream类对象,将文件中的数据读取出来,然后再输出到标准设备中的例子。代码如下:#include

#include

#include

using namespace std;

int main()

{

ifstream myfile;

myfile.open("c:\\1.txt",ios::in,0);

if(!myfile)

{

cout<<"文件读错误";

system("pause");

exit(1);

}

char ch;

string content;

while(myfile.get(ch))

{

content+=ch;

cout.put(ch);//cout<

}

myfile.close();

cout<

system("pause");

}上例中,我们利用成员函数get(),逐一的读取文件中的有效字符,再利用put()成员函数,将文件中的数据通过循环逐一输出到标准设备(屏幕)上,get()成员函数会在文件读到默尾的时候返回假值,所以我们可以利用它的这个特性作为while循环的终止条件,我们同时也在上例中引入了C++风格的字符串类型string,在循环读取的时候逐一保存到content中,要使用string类型,必须包含string.h的头文件。我们在简单介绍过ofstream类和ifstream类后,我们再来看一下fstream类,fstream类是由iostream派生而来,fstream类对象可以同对文件进行读写操作。示例代码如下:#include

#include

using namespace std;

int main()

{

fstream myfile;

myfile.open("c:\\1.txt",ios::out|ios::app,0);

if(!myfile)

{

cout<<"文件写错误,文件属性可能为只读!"<

system("pause");

exit(1);

}

myfile<<"hahaha"<

myfile.close();

myfile.open("c:\\1.txt",ios::in,0);

if(!myfile)

{

cout<<"文件读错误,文件可能丢失!"<

system("pause");

exit(1);

}

char ch;

while(myfile.get(ch))

{

cout.put(ch);

}

myfile.close();

system("pause");

}由于fstream类可以对文件同时进行读写操作,所以对它的对象进行初始话的时候一定要显式的指定mode和openprot参数。接下来我们来学习一下串流类的基础知识,什么叫串流类?简单的理解就是能够控制字符串类型对象进行输入输出的类,C++不光可以支持C++风格的字符串流控制,还可以支持C风格的字符串流控制。我们先看看看C++是如何对C风格的字符串流进行控制的,C中的字符串其实也就是字符数组,字符数组内的数据在内存中的位置的排列是连续的,我们通常用char str[size]或者char *str的方式声明创建C风格字符数组,为了能让字符数组作为设备并提供输入输出操作,C++引入了ostrstream、istrstream、strstream这三个类,要使用他们创建对象就必须包含strstream.h头文件。istrstream类用于执行C风格的串流的输入操作,也就是以字符串数组作为输入设备。  ostrstream类用于执行C风格的串流的输出操作,也就是一字符串数组作为输出设备。  strstream类同时可以支持C风格的串流的输入输出操作。istrstream类是从istream(输入流类)和strstreambase(字符串流基类)派生而来,ostrstream是从ostream(输出流类)和strstreambase(字符串流基类)派生而来,strstream则是从iostream(输入输出流类)和和strstreambase(字符串流基类)派生而来。他们的继承关系如下图所示:串流同样不是标准设备,不会有预先定义好的全局对象,所以不能直接操作,需要通过构造函数创建对象。类istrstream的构造函数原形如下:istrstream::istrstream(const char *str,int size);

  参数1表示字符串数组,而参数2表示数组大小,当size为0时,表示istrstream类对象直接连接到由str所指向的内存空间并以\0结尾的字符串。下面的示例代码就是利用istrstream类创建类对象,制定流输入设备为字符串数组,通过它向一个字符型对象输入数据。代码如下:#include

#include

using namespace std;

int main()

{

char *name = "hahahha";

int arraysize = strlen(name)+1;

istrstream is(name,arraysize);

char temp;

is>>temp;

cout<

system("pause");

}类ostrstream用于执行串流的输出,它的构造函数如下所示:ostrstream::ostrstream(char *_Ptr,int streamsize,int Mode = ios::out);

  第一个参数是字符数组,第二个是说明数组的大小,第三个参数是指打开方式。我们来一个示例代码:#include

#include

using namespace std;

int main()

{

int arraysize=1;

char *pbuffer=new char[arraysize];

ostrstream ostr(pbuffer,arraysize,ios::out);

ostr<

cout<

delete[] pbuffer;

system("pause");

}上面的代码中,我们创建一个c风格的串流输出对象ostr,我们将arraysize内的数据成功的以字符串的形式输出到了ostr对象所指向的pbuffer指针的堆空间中,pbuffer也正是我们要输出的字符串数组,在结尾要使用ends结束字符串,如果不这么做就有溢出的危险。转载自管宁(原创),如有侵权删。发布于 2020-04-07 16:11C++ 编程C++C / C++​赞同 19​​1 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录物联网学习圈更多物联网资料、源代码、项目资料都可以