今天我编写了一个程序!本来想试试用以下程序看看DOC文件里面到底装的什么东西!但是好象行不通呢?请问这样的程序怎么回试不通呢?
#include<iostream.h>
#include<stdio.h>
void main()
{
char *c;
int i;
FILE *fp;
fp=fopen(“d:\123.doc”,”rb”); //我在DOC里面写的张三两个字;
c=(char *)fp;
cout<<”char=”;
for(i=0;i<100;i++){cout<<c;c++;} //按我的意思至少他会输出100字符啊;
fclose(fp);
}
可以他一个字符都没输出就被强制关闭了???请问是什么原因关闭的?我可是一个字节一个字节的读写的啊?难道要一个位一个位的读写才行?那读出来不是0就是1了?这样的意思就不大了啊!
>> 本文固定链接: http://www.vcgood.com/archives/3128
>> 转载请注明: wxjwxjwkjl 2009年04月01日 于 C语言帝国 发表
我用自己存放的文件TXT的试了一下!发现可以访问啊?
难道还有什么屏蔽技术不成????
DOC文件中存储字段和TXT文件存储字段不一样,C中定义的文件指针结构为:
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
但是DOC文件中的存储字段并不是这样的,你用C语言中定义的文件指针读取DOC文件肯定是不行的。
明白!~~了!~~