亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求高手指點!關于C++中ofstream的write函數的用法?

求高手指點!關于C++中ofstream的write函數的用法?

C++ C
阿波羅的戰車 2021-10-21 19:15:10
下面這段程序是C++ How to Program 這本書里的一段程序。目的是創建一個文件并用write函數寫入100條初始記錄 “0, "", "", 0.0 ”。但是我運行的結果都是亂碼。 我想是由于下面這條語句的問題。似乎把&blankClient 改成const char *, 就不會正常打印“0, "", "", 0.0 ”? 到底是什么原因產生亂碼呢?outCredit.write( reinterpret_cast<const char *>( &blankClient ), sizeof( clientData ) );源程序:// Fig. 14.11: clntdata.h// Definition of struct clientData used in // Figs. 14.11, 14.12, 14.14 and 14.15.#ifndef CLNTDATA_H#define CLNTDATA_Hstruct clientData {int accountNumber;char lastName[ 15 ];char firstName[ 10 ];double balance;};#endif// Fig. 14.11: fig14_11.cpp// Creating a randomly accessed file sequentially#include <iostream>using std::cerr;using std::endl;using std::ios;#include <fstream>using std::ofstream;#include <cstdlib>#include "clntdata.h"int main(){ofstream outCredit( "credit.txt", ios::binary );//ofstream outCredit( "credit.txt", ios::out );if ( !outCredit ) {cerr << "File could not be opened." << endl;exit( 1 );}clientData blankClient = { 0, "", "", 0.0 };for ( int i = 0; i < 100; i++ )// outCredit<<blankClient <<"\n";outCredit.write( reinterpret_cast<const char *>( &blankClient ), sizeof( clientData ) );return 0;}
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 467 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號