- UID
- 852722
|
/* 本程序为Windows下的控制台程序,需MFC的支持(否则不能通过编译)
* 执行时带一个参数,指定要打开的文件;以每行10个字符(每个中文字符算一个字符),
* 最后一行可能不足10个。另外如'\n','\t'等字符可能改变打印格式。
*/
#include <iostream.h>
#include <afx.h>
int main(int argc, char* argv[])
{
if(argc != 2)
{
cout << 2 << endl;
return 1;
}
CFile file;
intsucess = file.Open(argv[1], CFile::modeRead);
if(!sucess)
{
cout << 2 << endl;
return 2;
}
longlength = file.GetLength();
boolflag = false; // 指针是否指在汉字的高位字节
intcount = 0;
unsigned char buf[21], *p = buf;
for(int i=0; i<length; i++)
{
if(count == 10)
{
*p = '\0';
cout << buf << endl; // 注意:控制符可能打乱显示格式
count = 0;
p = buf;
}
file.Read(p, 1);
count++;
if(*p++ > 128 && !flag)
{
count--;
flag = true;
}
else
flag = false;
}
*p ='\0';
cout<< buf << endl;
return 0;
} |
|