'w'モードでfwriteによって書き込まれた内容のファイルがあります。fread from charバッファー
もう一度freadを使って読み戻すことができますが、ファイル全体をstd :: string/charバッファに読み込んでからfreadする方法があるのだろうかと思います。
私はこのファイルが実際にはリモートに格納されていることを認めます。ファイルをディスクにフェッチし、待ち時間の問題から解放したくありません。
'w'モードでfwriteによって書き込まれた内容のファイルがあります。fread from charバッファー
もう一度freadを使って読み戻すことができますが、ファイル全体をstd :: string/charバッファに読み込んでからfreadする方法があるのだろうかと思います。
私はこのファイルが実際にはリモートに格納されていることを認めます。ファイルをディスクにフェッチし、待ち時間の問題から解放したくありません。
文字列を読み込んでからfread
をサポートすることはサポートされていません。そのため、標準のライブラリコードでポータブルではないハッキングが必要になります。
それを文字列に読み込んでからistream::read
をサポートすることは完全にサポートされているので、それは簡単です。個人的には、私はおそらく全体の操作のためにiostreamsを使用するでしょう。 system()
とscp
機能を使用してファイルを取り出す方法について
// Open remote for reading:
std::ifstream remote_file("filename");
std::stringstream buffer;
// get the data from the remote file into the stringstream:
buffer << remote_file.rdbuf();
// read some data from the stringstream:
char input_buffer[256];
buffer.read(input_buffer, sizeof(input_buffer));
:リモートファイルが本当に巨大である場合を除き、私はおそらくこのような何かをしたいですか?
#include <iostream>
#include <cstdlib>
#include <cstring>
int main()
{
char command[90];
strcpy(command, "scp [email protected]:remote/path/to/file.txt local/path/to/newFile.txt");
system(command);
// Then read as you normally would using fread
return 0;
}
ここには、system()機能を使用したいくつかの例があります。
sshコマンドの男性がいます。
CまたはC++?一つを選んでください。彼らは実際には全く同じではありません。 – tadman
なぜ 'char *'から 'fread'したいのですか?' strcpy'や 'memcpy'を使いたくないのですか? –
何ですか?すでに配列や文字列にコンテンツがある場合は、そのコンテンツにアクセスできますか?どのようにこの奇妙なアイデアに来たのか分かりませんが、[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)でお読みください。 –