TCP传文件

来源:互联网 发布:零基础学算法 编辑:程序博客网 时间:2024/05/22 05:11

使用TCP传文件需要先将文件载入内存以流的方式发送出去,在接受到数据流之后再写入文件。

#include "stdafx.h"#include <iostream>#include <fstream>#include <vector>#include <string>bool load_file(const std::string& filePath, std::vector<char>& data){if (filePath.empty())return false;std::ifstream ifs(filePath.c_str(), std::ios::binary | std::ios::ate);if (ifs.is_open()){int size = ifs.tellg();ifs.seekg(0, std::ios::beg);data.resize(size);ifs.read(&data[0], size);ifs.close();return true;}return false;}bool save_file(const std::string& filePath, const std::vector<char>& data){if (filePath.empty() || data.empty())return false;std::ofstream ofs(filePath.c_str(), std::ios::binary);if (ofs.is_open()){ofs.write(&data[0], data.size());ofs.close();return true;}return false;}int _tmain(int argc, _TCHAR* argv[]){std::vector<char> vc;if (load_file("111.pdf", vc)){if (save_file("222.pdf", vc))std::cout << "success!" << std::endl;elsestd::cout << "save error" << std::endl;}elsestd::cout << "load error" << std::endl;system("pause");return 0;}


原创粉丝点击