首页 > 编程语言 > 详细

C++ 文件读写操作

时间:2014-01-25 23:28:18      阅读:556      评论:0      收藏:0      [点我收藏+]

1.练习背景:预定义几个字符串,保存到一个二进制文件(设为data1.dat)

2.操作要求:用二进制方式写入这些字符串,然后二进制的方法读出来,在console上面显示

以下是字符串

bubuko.com,布布扣
char line[5][20] = {
    "hello",
    "mingzhi",
    "you job is?",
    "coding",
    "I want to go there!!!"
}; 
bubuko.com,布布扣

 

将字符串读入到data1.dat文件中,有多种方式,这里只采用其中一种

bubuko.com,布布扣
char sign = \n;
    fstream file;
    file.open("data1.dat",ios::out|ios::binary);
    
    for(int i=0;i<5;i++)
    {
        file.write((char*)line[i],strlen(line[i]));
        file.write((char*)(&sign),sizeof(sign)); //A
    }
    file.close();
View Code

A行要注意一点,写入二进制流时,如果没有A行,那该二进制文件则没有换行符号的,所以要添加这行。这一行的语法也要稍加注意:

write()函数里的第一个参数一定是char*类型的,所以添加的变量不是指针的话,一定要注明是取地址符表明(char*)(&val)是个变量。

bubuko.com,布布扣
//ifstream infile;
    file.open("data1.dat",ios::in|ios::binary);
    
    char ch[30];
    
    //file.unsetf(ios::skipws);
    //file.fill(‘ ‘);
    while(file.getline(ch,20))
    {
        cout << ch << endl;
    }
    file.close();
View Code

上面的代码就是读取了,没有啥好注意的,就是老写错了getline,get这些函数的参数,第二个参数是不缺省的。

C++ 文件读写操作

原文:http://www.cnblogs.com/cton/p/3533554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!