Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用c++;成片_C++_Amazon S3 - Fatal编程技术网

C++ 用c++;成片

C++ 用c++;成片,c++,amazon-s3,C++,Amazon S3,我是C++世界的新手,正在尝试将文件流写入磁盘。我能够做到以下几点: const Aws::String objectKey2("filename.tar"); Aws::S3::S3Client s3_client2; Aws::S3::Model::GetObjectRequest object_request2; object_request2.SetBucket(bucket_name); object_request2.SetKey(object

我是C++世界的新手,正在尝试将文件流写入磁盘。我能够做到以下几点:

  const Aws::String objectKey2("filename.tar");
  Aws::S3::S3Client s3_client2;
  Aws::S3::Model::GetObjectRequest object_request2;
  object_request2.SetBucket(bucket_name);
  object_request2.SetKey(objectKey2);
  Aws::S3::Model::GetObjectOutcome get_object_outcome2 =
      s3_client2.GetObject(object_request2);
  auto &retrieved_file2 = get_object_outcome2.GetResult().GetBody();


  std::ios_base::sync_with_stdio(false);
  auto myfile = std::fstream("file.tar", std::ios::out | std::ios::binary);
  myfile.write((char*) &retrieved_file2, 1024*100);
  myfile.close();
但这是在向磁盘写入约1k的数据,文件无法读取(显然)。该文件是来自aws s3的tar,我尝试将其分块写入磁盘。

给出以下内容

auto &retrieved_file2 = get_object_outcome2.GetResult().GetBody();
retrieved\u file2
实际上是类型
Aws::IOStream&
with via

typedef std::basic_iostream<char, std::char_traits<char>> Aws::IOStream;
std::fstream myfile("file.tar", std::ios::out | std::ios::binary);
myfile << retrieved_file2.rdbuf();