Chinaunix首页 | 论坛 | 博客
  • 博客访问: 993748
  • 博文数量: 158
  • 博客积分: 4380
  • 博客等级: 上校
  • 技术积分: 2367
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-21 10:45
文章分类

全部博文(158)

文章存档

2012年(158)

我的朋友

分类: C/C++

2012-11-23 15:55:56

#include
#include
using namespace std;

int main()
{
    fstream f("a.txt",ios::out|ios::in|ios::trunc);
    f << "abcdefg\n"; // f << "abcdefg"; 就是多了个\n,所以来问题了
    f.seekg(0);

    char ch;
    cout << "tellg=" << f.tellg() << endl;
    f >> ch;
    cout << ch << endl;
    cout << "tellg=" << f.tellg() << endl;
    f >> ch;
    cout << ch << endl;
    cout << "tellg=" << f.tellg() << endl;

    system("pause");
    return EXIT_SUCCESS;
}
输出为
tellg=0
a
tellg=2
c
tellg=4
而不是
tellg=0
a
tellg=1
b
tellg=2

------ 2007-05-14:经 提醒,此帖重复,原帖为 http://blog.vckbase.com/bruceteen/archive/2006/03/27/18761.html

阅读(2224) | 评论(13) | 转发(0) |
给主人留下些什么吧!~~

网友评论2012-11-23 15:57:19

Tangf
周星星大侠,请求帮忙解决一个问题!请问MDI多文档子窗体左上角的图标怎么删除(是删除,不是替换),谢谢!

网友评论2012-11-23 15:57:10

BigAnt
hi 星星 踩一脚  ^_^

网友评论2012-11-23 15:57:01

金庆
应该是一个BUG。
tellg()不应该改变当前的指针.
tellg()调用seek(0, cur)没有考虑到windows的文件文件的特殊性,所以产生了错误。
STLPort 就没有调用seek, 直接返回Pos.

网友评论2012-11-23 15:56:52

周星星
:)谢谢,我要狂晕1万次,看来我记忆里下降很多了。

网友评论2012-11-23 15:56:45

heroboy
http://blog.vckbase.com/bruceteen/archive/2006/03/27/18761.html

只要不是ios::binary就不要seek和tell了吧