C++ 用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
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();