c++的文件操作
时间:2011-11-29
来源:互联网
代码:
/**************************读不出正确的字节数目???*******************************************//*char ch=0;
int k=0;
int s=0;
fstream fs("D:\\2.doc",ios_base::in|ios_base:ut|ios_base::app);
if(fs)
{
while(!fs.eof())
{
fs.get(ch);
k++;
s+=sizeof(ch);
}
}
fs.close();
cout<<"the size of the file is"<<" "<<s<<"bytes"<<endl;
cout<<k<<ends;
*/
代码:
char ch;while(!cin.eof())
{
cin>>ch;
if(ch=='q') break;
else cout<<ch<<" "<<ends;
}
作者: isyf 发布时间: 2011-11-29
代码:
/**************************读不出正确的字节数目???*******************************************//*char ch=0;
int k=0;
int s=0;
fstream fs("D:\\2.doc",ios_base::in|ios_base::out|ios_base::app);
if(fs)
{
while(!fs.eof())
{
fs.get(ch);
k++;
s+=sizeof(ch);
//fs.seekg((int)(fs.tellg()+1));
}
}
fs.close();
cout<<"the size of the file is"<<" "<<s<<"bytes"<<endl;
cout<<k<<ends;
*/
代码如下:
代码:
char ch;while(!cin.eof())
{
cin>>ch;
if(ch=='q') break;
else cout<<ch<<" "<<ends;
}
作者: isyf 发布时间: 2011-11-29
代码:
/**************************读不出正确的字节数目???*******************************************//*char ch=0;
int k=0;
int s=0;
fstream fs("D:\\2.doc",ios_base::in|ios_base:ut|ios_base::app);
if(fs)
{
while(!fs.eof())
{
fs.get(ch);//这里读取数据,即便失败了;你的k还有依然自增;
k++;
s+=sizeof(ch);
}
}
fs.close();
cout<<"the size of the file is"<<" "<<s<<"bytes"<<endl;
cout<<k<<ends;
*/
引用:
原帖由 isyf 于 2011-11-29 09:38 发表 2 {8 {# b8 B/ U9 s第一个问题是我想算出一个文件的字节大小,但是程序运行得到的字节数,总是大于windows系统中的字节数,我不知道是为什么,代码如下(2.doc,只有8个字节,但是用下面代码算出来是9个字节,可以拷贝了在自己环境下运行一下,我的是vs20 ...
代码:
#include<iostream>#include<fstream>
using namespace std;
int main()
{
int k=0;
int s=0;
char ch;
fstream fs("C:\\2.txt");
while(fs)
{
fs.get(ch);
if(!fs.eof())
{
k++;
s+=sizeof(ch);
}
}
fs.close();
cout<<"the size of the file is"<<" "<<s<<"bytes"<<endl;
cout<<k<<ends;
return 0;
}
作者: 月夜幻影 发布时间: 2011-11-29
刷新输入流,就停止了
作者: 月夜幻影 发布时间: 2011-11-29
/**************************读不出正确的字节数目???*******************************************/
], P5 H) @+ K D/*char ch=0;
$ u3 W& b7 v' Rint k=0;- C' O" |9 ]7 r: [' z2 Q- ?
int s=0;
1 a" L5 ~" a; A) L% jfstream fs("D:\\2.doc",ios_base::in|ios_base:ut|ios_base::app);0 I+ _1 |0 |4 P
if(fs)
1 z* U% c$ d6 D1 _{
" O/ D2 T7 }/ K0 x# V7 D# n0 Mwhil ... [/q]这里的fs.eof(),不就是文件尾部的意思么,只要到了文件尾部就不会再执行循环,fs.get(ch)应该每次都有读入的啊??请楼主给我解释一下,我不太明白
作者: isyf 发布时间: 2011-11-29
代码:
fstream fs("D:\\2.doc",ios_base::in|ios_base:ut|ios_base::app);//这里打开成功if(fs)//fs正常,为1
{
while(!fs.eof())fs未读取数据,只是判断流;正常,为true;执行
{
fs.get(ch);//没有字符,读取失败,即为eof;
k++;//依次执行下面每个语句;
s+=sizeof(ch);
}
}
作者: 月夜幻影 发布时间: 2011-11-29
代码:
#include <fstream>#include <stdlib.h>
#include <iostream>
using namespace std;
streamoff get_file_size(const char *file_name)
{
fstream fin(file_name, ios::in);
if(!fin)
{
cout<<"打开文件失败"<<endl;
exit(-1);
}
fin.seekg(0, ios::end);
streamoff size = fin.tellg();
fin.close();
return size;
}
int main(int argc, char **argv)
{
cout<<get_file_size("D:\\2.doc")<<endl;
system("pause");
return 0;
}
作者: 紫色枫叶 发布时间: 2011-11-29
作者: isyf 发布时间: 2011-11-29
作者: 紫色枫叶 发布时间: 2011-11-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28