c primer 习题8.16 打开空文件会输出一个乱码 正常文件会多一个乱码,为什么??怎么解决

[复制链接]
查看11 | 回复1 | 2011-6-21 09:58:45 | 显示全部楼层 |阅读模式
#include\"stdafx.h\"
#includeiostream
#includefstream
#includesstream
#includestring
#includevector
#includestack

//identifierrange
usingnamespacestd;



intfileToVector(stringfileName,vectorstring
        if(!inFile)
                return1;
        strings;
        while(getline(inFile,s))
                svec.push_back(s);
        inFile.close();
        if(inFile.eof())
                return4;
        if(inFile.bad())
                return2;
        if(inFile.fail())
                return3;
}

//mainfunction
intmain()
{
        vectorstringsvec;
        stringfileName,s;
stringstr;
introw;
        cout\"输入文件名:\"endl;
        fileName=\"ReadMe.txt\";
        switch(fileToVector(fileName,svec))
        {
        case1:
                cout\"不能打开文件\"fileNameendl;
                return-1;
        case2:
                cout\"系统错误\"endl;
                return-1;
        case3:
                cout\"读取文件失败\"endl;
                return-1;
        }
        stringword;
        istringstreamisstream;
        for(vectorstring::iteratoriter=svec.begin();iter!=svec.end();iter)
        {
                isstream.str(*iter);
                while(isstreamword)
                {
                        coutwordendl;
                }
                isstream.clear();
        }
        system(\"PAUSE\");
        return0;
}
回复

使用道具 举报

千问 | 2011-6-21 09:58:45 | 显示全部楼层
你用ULTRAEDIT打开空文件看一下
我估计你的文件格式是什么UTF8的,前面有3个字节
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行