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”?
|