C/C++输入输出

来源:互联网 发布:nginx部署多个网站 编辑:程序博客网 时间:2024/06/05 11:52
C/C++语言书籍在介绍I/O方面的知识时,一般先介绍标准输入/输出(键盘/控制台窗口),再介绍文件输入/输出。《C++ Primer 5》在第8章提到:到目前为止,我们已经使用过的IO类型和对象都是操作char数据的。默认情况下,这些对象都是关联到用户的控制台窗口的。当然,我们不能限制实际应用程序仅从控制台窗口进行IO操作,应用程序常常需要读写命名文件。而且一般在介绍标准输入/输出前,就已经使用过了。这是因为“输入/输出功能并不是c语言本身的组成部分”(《C程序设计语言》)

C++使用了很多较为高级的语言特性来实现输入和输出,因此要真正理解C++的I/O,必须了解C++的很多内容,包括类、派生类、函数重载、模板和多重继承。 C和C++都没有把输入和输出建立在语言中,即没有定义输入输出如何工作的规则,也没有相应的关键字。C自带了一些标准库函数,C++自带了一些标准库。

有个很有意思的例子:
char data1[10] = "hello";
char data2[10] = {0x68, 0x65, 0x6c, 0x6c, 0x6f};
CFile file;
char *p = data2;
file.Open(szName, CFile::modeCreate | CFile::modeWrite);//szName是文件的路径
for (int i=0; i<1000; i++)
{
   file.Write(p, 5);//写入的是ASCII码
   file.Write(data1, 5);//写入的是字符
}
上面的两句Write有什么不同呢?
原创粉丝点击