-3

ファイルを文字列として表現したいのですが、ファイルに 0x00 が含まれており、文字列がそこで終了するという問題があります。これを解決するにはどうすればよいですか?

4

3 に答える 3

1

このようなtxtファイルをバイナリ0x61 0x61 0x61 0x00 0x62 0x62 0x62で持っています

バイナリの「txtファイル」?- 意味がわかりません。

ただし、スペースで区切られた値がある場合は、の使用を試すことができますstd::vector( std::string null 終端を使用しません)。

std::ifstream fin("input.txt");

 std::vector<std::string> v;
 std::copy(std::istream_iterator<std::string> (fin),
           std::istream_iterator<std::string> (), 
           std::back_inserter(v) );

std::vector<std::string>::iterator it =v.begin();

for(;it!=v.end();++it)                       
  std::cout<< *it<<" ";
于 2013-08-17T06:06:58.180 に答える