文件操作(二)

1.首先来理解几个概念:文件,二进制文件,文本文件,二进制方式,文本方式

文件:是存储在内存中的数据(二进制)在外部存储介质上的一种存放形式, 当然数据在文件中也一定是以二进制形式存放的,不是二机制还会是什么形式。

二进制文件:如可执行程序,图片,声音等。
文本文件:文本文件。
其实,我认为二进制文件和文本文件没有什么区别,其它存放的都是二进制的字节流而已。

文本方式:是一种操作文件的方式,当向文件中写入数据时,如果以字节为单位写入,那么当遇到值10时,即换行符时,会自动将10转化为13和10,当以字节为单位读取数据时,当遇到连续两个字节13和10时会自动将其转化为一个字节10。以这种方式对文件操作可能会造成数据的丢失。

二进制方式:也是一种操作文件的方式,这种方式不会做任何转化,即在内存中是什么样在文件中就是什么样。

所以,我们对文件操作是应该保持一致,如果采用文本方式写入,也应该采用文本方式读出,如果采用二进制写入在读取的时候也应该采用二进制方式。

无论是什么文件,如果我们统一采用二进制方式进行写入和读取,则永远不会出错。

注意:在C语言中,默认的文件操作方式是文本方式,如果我们要采用二进制方式要显示指出。

2.C++中的文件操作:如下例:

bool fWriteFile(const char *pchBuffer)
{
    ofstream ofs("2.txt");
    int iLen = strlen(pchBuffer);

    ofs.write(pchBuffer, iLen);
    ofs.close();

    return true;
}

bool fReadFile()
{
    char pchBuffer[100];
    ifstream ifs("2.txt");
    int iLen = 0;

    memset(pchBuffer, 0, 100);
    ifs.read(pchBuffer, 100);
    ifs.close();
    cout<<pchBuffer<<endl;

    return true;
}

int main(int argc, char* argv[])
{
    char *pchBuffer = "http://news.sina.com.cn";

    if (!fWriteFile(pchBuffer))
    {
        return 1;
    }
    if (!fReadFile())
    {
        return 1;
    }

    return 0;
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值