cnt_read.cpp

本文通过一个C++程序示例介绍了如何使用ofstream和ifstream类进行二进制文件的写入与读取操作。该程序首先将浮点数数组写入到文件中,然后清空数组并从文件中重新读取数据,验证了文件读写的正确性。

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <iostream.h>
#include <fstream.h>

void main(void)
 {
   float fnum[4] = {99.75, -34.4, 1776.0, 200.1};
   int i;

   ofstream out("numbers.asc", ios::out | ios::binary);
   if(!out)
    {
      cout << "Cannot open file.";
      exit (1);
    }
   out.write((unsigned char *) &fnum, sizeof(fnum));
   out.close();
   for (i=0; i<4; i++)
      fnum[i] = 0.0;
   ifstream in("numbers.asc", ios::in | ios::binary);
   if(!in)
    {
      cout << "Cannot open file.";
      exit (1);
    }
   in.read((unsigned char *) &fnum, sizeof(fnum));
   cout << in.gcount() << " bytes read." << endl;
   for (i=0; i<4; i++)
      cout << fnum[i] << " ";
   in.close();
 }
 


src/uart_msg_analy.cpp: In function 'void uart0_msg_analy(uint8_t*, uint16_t)': src/uart_msg_analy.cpp:37:84: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] printf_log_hex("uart0_rx_buf:",(uint8_t *)uart0_rx_buf,uart0_rx_buf_cnt); ^ In file included from src/spi_slave_server.cpp:1: src/spi_slave_server.h:16:34: error: expected unqualified-id before numeric constant #define SPI_BUFFER_SIZE (16 * 2) // 32 bytes ^~ src/spi_slave_server.cpp:15:25: note: in expansion of macro 'SPI_BUFFER_SIZE' static constexpr size_t SPI_BUFFER_SIZE = 64; // 支持最大64字节通信 ^~~~~~~~~~~~~~~ src/spi_slave_server.h:16:34: error: expected ')' before numeric constant #define SPI_BUFFER_SIZE (16 * 2) // 32 bytes ~^~ src/spi_slave_server.cpp:15:25: note: in expansion of macro 'SPI_BUFFER_SIZE' static constexpr size_t SPI_BUFFER_SIZE = 64; // 支持最大64字节通信 ^~~~~~~~~~~~~~~ src/spi_slave_server.cpp:30:35: error: redefinition of 'uint8_t spi_tx_buf [32]' uint8_t spi_tx_buf[SPI_BUFFER_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8}; ^ src/spi_slave_server.cpp:16:16: note: 'uint8_t spi_tx_buf [32]' previously declared here static uint8_t spi_tx_buf[SPI_BUFFER_SIZE]; // 发送缓冲区 ^~~~~~~~~~ src/spi_slave_server.cpp:31:35: error: redefinition of 'uint8_t spi_rx_buf [32]' uint8_t spi_rx_buf[SPI_BUFFER_SIZE] = {0}; ^ src/spi_slave_server.cpp:17:16: note: 'uint8_t spi_rx_buf [32]' previously declared here static uint8_t spi_rx_buf[SPI_BUFFER_SIZE]; // 接收缓冲区
09-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值