c++ primer 习题8.6 文件总是打开失败

问题描述

c++ primer 习题8.6 文件总是打开失败

#include "stdafx.h"
#include
#include
#include
using namespace std;
istream &f(istream &);

int _tmain(int argc, _TCHAR* argv[])
{
string filename="hello";
ifstream input;
input.open(filename.c_str(),ios::binary);
if(input.is_open())
{
cout<<"opened"<<endl;
}
if(!input)
if(input.bad())
cout<<"bad"<<endl;
if(input.fail())
cout<<"fail"<<endl;
return -1;
f(input);
system("pause");
return 0;
}

istream &f(istream &in)
{
string temp;
while(in>>temp,!in.eof())
{
if(in.bad())
throw runtime_error("IO stream corrupted");
if(in.fail())
{
cerr<<"bad data,try again!";
in.clear();
in.setstate(istream::eofbit);
continue;
}
cout<<temp<<endl;
}
in.clear();
return in;

}


代码如上,总是跳到文件打开失败语句,hello.txt文件我放在与exe文件同一个目录下。
百思不得其解啊?为什么呢?

解决方案

《c++ primer》 习题3.13-3.16
C++ Primer 第11章 习题11.9
C++ Primer习题5.18

解决方案二:

终于在我的不懈努力下,解决这个问题啦!!!!还是文件路径的问题,把它改成绝对路径就可以了,但是还是不明白放到Debug文件夹为什么不可以?

解决方案三:

你文件名是hello,怎么没有.txt
既然绝对路径可以,那么就是你exe跟文件得相对路径没有处理对。

解决方案四:

不是啊,一般写程序不用绝对路径的。你的文件就写错了吧

时间: 2024-08-02 15:51:00

c++ primer 习题8.6 文件总是打开失败的相关文章

电脑中保存的3DMAX文件提示打开失败的修复方法

  1.打开库--文档,也就是我的文档文件夹; 2.找到3DMAX文件夹,然后打开; 3.再打开autoback文件夹; 4.发现里面有一些3dmax文件,可根据文件具体日期找到与自己丢失的文件日期相符合的文件,打开即可,3dmax默认每30分钟自动保存一次,有三个文件; 5.如果已经修改了默认的保存时间和个数,没有找到自己丢失的文件怎么办,在autoback文件夹里会发现,还有一个.bak文件; 6.找到后将其重命名,把扩展名由.bak改为.max; 7.在弹出的提示中点击是,然后直接打开即可

Win7系统xps文件怎么打开?

  Win7系统xps文件怎么打开? 1.对于操作系统是Vista或Windows7的用户来说,打开XPS文件的方法是:点击开始菜单,在搜索框中输入XPS Viewer,点击运行软件,在主界面中选择要打开的文件,即可进行阅读操作 2.XPS Viewer 这个工具被集成到了vista和win7操作系统中,如果你的系统是Vista或win7,那么你就可以直接浏览该XPS文件,其他系统需要下载安装XPS Viewer软件,这是微软为了对抗pdf的一种类似的新格式,不过不能用PDF阅读器打开. win

linux系统编程之文件与I/O(一) 文件的打开关闭

一.文件描述符 对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的.当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数).后续对文件的操作只需通过该文件描述符,内核记录有关这个打开文件的信息(file结构体). 一个进程启动时,默认打开了3个文件,标准输入.标准输出.标准错误,对应文件描述符是0(STDIN_FILENO).1(STDOUT_FILENO).2(STDERR_FILENO),这些常量定义在unistd.h头文件中. fileno:将文件指针转换为

jsp文件怎么打开?

  在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp).Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户.程序片段可以操作数据库.重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能.所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Jav

gho是什么文件?GHO文件如何打开?

Gho是ghost工具软件的镜像文件存放扩展名,Gho文件中是使用Ghost软件备份的硬盘分区或整个硬盘的所有文件信息.*.gho文件可以使用GHOSTEXP来浏览.修改或提取文件. 一般的,类似于ISO镜像文件下载到本地之后,就会发现里面有一个后缀名为gho的文件,互联网上一般有雨林木风,萝卜家园,电脑城装机版等,可以把下载后的ISO文件通过虚拟光驱复制出来,再通过ghost 11等版本对电脑进行重装系统. GHO是GHOST境象文件.是用GHOST备份的克隆文件,是用ghost恢复系统的时候

php是什么,php文件怎么打开

很多没有基础的朋友,经常会问php文件怎么打开,其实PHP是一个网页脚本,但不同于html xml 标签语言,直接可以通过浏览器打开,需要有PHP的运行环境才可以访问和打开文件,如果只是编辑PHP打开文件,只需要用记事本或者通过相关的编辑器如 (DW.EclipsePHP.editplus 等)打开编辑即可. 再来介绍PHP是什么,增加点PHP基础知识,PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写.PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行

如何打开PHP文件,PHP文件怎么打开?

"php文件怎么打开?",其实大家并非是需要去打开php文件,多数只是因为下载东西,错误的下载到成了网页文件,主要是下载站中的下载连接 其实是php脚本文件控制的,有的不支持一些下载工具下载,防止大量占用网站服务器资源,当使用讯雷下载的连接就会失效,也可能是服务器链节地址失效,导 致下载到的东西只是也个php脚本文件,根本不是你要查找的相关资料,不信大家可以使用记事本打开,里面全部是php英文语法脚本,解决办法大家可以使用 目标另存为下载即可. 下面简单介绍下什么是php文件,PHP是

怎么解压rar文件 rar文件怎么打开

rar是一种文件压缩格式,可以把一个文件压缩到只有原来文件的几分之一大小.大大节省了存储空间.rar文件怎么打开呢,需要电脑上安装文件压缩软件,解压才能打开压缩包里的文件.WinRAR软件是用的最多的压缩软件,一般电脑装系统时都装了这个软件,如果电脑自带有这个软件,直接右键压缩文件包解压到当前文件就可以了.不过这个软件是收费的.在网上也有很多破解的.但是用起来总是不爽. 现在免费的压缩软件做的不错的如好压压缩软件,360压缩软件.推荐大家可以使用.压缩软件除了可以压缩文件还有很多其他的实用功能,

xlsx文件怎么打开?用“在线打开xlsx文件”工具

大家都知道Excel2003或之前的版本保存的表格默认格式一般是"xls"的后缀名,那么"xlsx"的后缀又是什么文件呢:那是什么程序生成出来的呢?其实xlsx文件也是Excel生成出来文件后缀,只不过是Excel2007或以上版本默认的文件后缀.xlsx文件在Excel2003和之前的版本中是无法打开的,只有Excel2007和以上版本才可以打开使用. 有些朋友电脑上使用的是Excel2003,但是经常会接触到一些"xlsx文件"却无法打开,这