c++ 之输入输出流(一) 真理何在?大家帮忙看看
时间:2010-07-27
来源:互联网
c++ 之输入输出流(一) 真理何在?
环境: RHEL 5.X g++
1.首先,看程序
vim 8.c
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
ifstream inf;
inf.open("output.txt");
if (!inf)
{
cerr<<"打开文件失败!";
}
char line[100];
while (!inf.eof())
{
inf.getline(line,10);
cout<<line<<endl;
}
inf.close();
return 0;
}
保存 (vim 命令模式下 输入 ZZ)
2.其次,在当前目录下新建 output.txt
vim output.txt 并输入
1 9999 999999
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
保存 (在vi 命令模式下输入ZZ)
3.增加权限属性
chmod 777 output.txt
4.运行程序
g++ 8.c -o 8
./8
结果显示什么也没有。为了看清楚。输出重定向到a.out
./8 > a.out
5.查看 a.out
1 9999
这个可以理解,输出十个字符嘛。包括空格。但是
再看文件大小
ls -lh a.out
-rw-r--r-- 1 root root 215K 07-27 19:11 a.out
这就费解了。a.out的大小怎么这么大呢?215K 。按理说应该只有一行内容啊。
可是现在我都不知道有多少行了。除了第一行之外,其他都是用空格填充了。
谁知道可以解释一下吗?谢谢。了。
环境: RHEL 5.X g++
1.首先,看程序
vim 8.c
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
ifstream inf;
inf.open("output.txt");
if (!inf)
{
cerr<<"打开文件失败!";
}
char line[100];
while (!inf.eof())
{
inf.getline(line,10);
cout<<line<<endl;
}
inf.close();
return 0;
}
保存 (vim 命令模式下 输入 ZZ)
2.其次,在当前目录下新建 output.txt
vim output.txt 并输入
1 9999 999999
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
保存 (在vi 命令模式下输入ZZ)
3.增加权限属性
chmod 777 output.txt
4.运行程序
g++ 8.c -o 8
./8
结果显示什么也没有。为了看清楚。输出重定向到a.out
./8 > a.out
5.查看 a.out
1 9999
这个可以理解,输出十个字符嘛。包括空格。但是
再看文件大小
ls -lh a.out
-rw-r--r-- 1 root root 215K 07-27 19:11 a.out
这就费解了。a.out的大小怎么这么大呢?215K 。按理说应该只有一行内容啊。
可是现在我都不知道有多少行了。除了第一行之外,其他都是用空格填充了。
谁知道可以解释一下吗?谢谢。了。
作者: longxibendi 发布时间: 2010-07-27
你自己去看看这个函数的声明吧。
你在使用这个函数之前有看过这个函数的文档或原型么?
如果我没有记错,参数应该是string。
你在使用这个函数之前有看过这个函数的文档或原型么?
如果我没有记错,参数应该是string。
作者: ah13k 发布时间: 2010-07-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28