由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个很诡异的ifstream问题,求助~~
相关主题
读取数据求教请教用c++读取large file怎么可以快一些?
关于文件读取的C++ 问题?请教一个C++的问题
地址空间里的一个BYTE不能写入(是合法地址)天,如何能让程序转得快点?有包子。
C++读文本文件怎么判断换行?C++ 在 windows 上 结果正确, 在 linux 上结果总是不一样,怎
how to read a sentence into a vector of string?这样读多个文件对吗?
如何让这个cur变量正确指向新地址[转载] Re: [转载] 这样读多个文件对吗?
how to use cin as default ifstream?问一个打开文件的问题
how to skip the last empty lines in ifstream?如何快速读入文本形式的整数
相关话题的讨论汇总
话题: bufz话题: ifstream话题: 诡异话题: memset话题: sizeof
进入Programming版参与讨论
1 (共1页)
k********n
发帖数: 182
1
ifstream is(filename);
char bufz[1024];
memset(bufz, 0, sizeof(bufz));
is.getline(bufz, sizeof(bufz)-1);
诡异之一,memset完之后,bufz[0] = 1
诡异之二,getline完之后,从bufz+4开始才是文件的内容,前面多出了4个字节
用的是VS2005。另外,在另一个工程里用这些都没问题。有人知道是为什么吗?
Thanks!
h*****0
发帖数: 4889
2
前面4字节是BOM吧

【在 k********n 的大作中提到】
: ifstream is(filename);
: char bufz[1024];
: memset(bufz, 0, sizeof(bufz));
: is.getline(bufz, sizeof(bufz)-1);
: 诡异之一,memset完之后,bufz[0] = 1
: 诡异之二,getline完之后,从bufz+4开始才是文件的内容,前面多出了4个字节
: 用的是VS2005。另外,在另一个工程里用这些都没问题。有人知道是为什么吗?
: Thanks!

k********n
发帖数: 182
3
但是实际的文件里没有这四个字节(我用UE打开看的,对不对?)
而且用另外一个工程打开同样的文件,就没有这个问题了

【在 h*****0 的大作中提到】
: 前面4字节是BOM吧
h*****0
发帖数: 4889
4
用UE hex模式可以看到吧?

【在 k********n 的大作中提到】
: 但是实际的文件里没有这四个字节(我用UE打开看的,对不对?)
: 而且用另外一个工程打开同样的文件,就没有这个问题了

k********n
发帖数: 182
5
就是用这个看的,开头没有那四字节。

【在 h*****0 的大作中提到】
: 用UE hex模式可以看到吧?
h*****0
发帖数: 4889
6
那4个是什么字符?

【在 k********n 的大作中提到】
: 就是用这个看的,开头没有那四字节。
z****e
发帖数: 2024
7
你确定
char bufz[1024];
memset(bufz, 0, sizeof(bufz));
cout< 如上三句话紧挨着,还给你个“1”?

【在 k********n 的大作中提到】
: 就是用这个看的,开头没有那四字节。
k********n
发帖数: 182
8
是我搞错了,原因是我在release模式下debug了。。

【在 z****e 的大作中提到】
: 你确定
: char bufz[1024];
: memset(bufz, 0, sizeof(bufz));
: cout<: 如上三句话紧挨着,还给你个“1”?

1 (共1页)
进入Programming版参与讨论
相关主题
如何快速读入文本形式的整数how to read a sentence into a vector of string?
问个程序问题如何让这个cur变量正确指向新地址
问一个C++文件读取的问题how to use cin as default ifstream?
一道 memset in C++的题how to skip the last empty lines in ifstream?
读取数据求教请教用c++读取large file怎么可以快一些?
关于文件读取的C++ 问题?请教一个C++的问题
地址空间里的一个BYTE不能写入(是合法地址)天,如何能让程序转得快点?有包子。
C++读文本文件怎么判断换行?C++ 在 windows 上 结果正确, 在 linux 上结果总是不一样,怎
相关话题的讨论汇总
话题: bufz话题: ifstream话题: 诡异话题: memset话题: sizeof