iostream и большая поддержка файла

cmd1 и cmd2 являются двумя разными процессами и не влияют друг на друга. Если вы хотите пойти по маршруту su, вам нужно будет вызвать сценарий оболочки через это:

...["su","-","splunk", "-c", "./path/myBashFile.sh"]...
7
задан Vadim Kotov 26 June 2018 в 10:17
поделиться

2 ответа

Это было уже решено для Вас, когда libstdc++ был скомпилирован и обычно зависит от того, был ли _GLIBCXX_USE_LFS определен в c++config.h.

, Если в сомнении, передайте свой исполняемый файл (или libstdc++.so, при соединении против него динамично) до readelf -r (или до strings) и посмотрите, связался ли двоичный файл / libstdc++ против fopen / fseek / и т.д. или fopen64 / fseek64 / и т.д.

ОБНОВЛЕНИЕ

, Вы не должны волноваться о пределе на 2 ГБ, пока Вы не нуждаетесь/делаете попытку к [1 111] или ftell (Вы просто читаете из или пишете в поток.)

8
ответ дан 7 December 2019 в 01:26
поделиться

При использовании GCC можно использовать в своих интересах расширение GCC, названное __ gnu_cxx:: stdio_filebuf, который связывает IOStream со стандартным дескриптором C ФАЙЛА .

необходимо определить следующие две вещи:

_LARGEFILE_SOURCE

_FILE_OFFSET_BITS=64

, Например:

#include <cstdio>
#include <fstream>
#include <ext/stdio_filebuf.h>

int main()
{
  std::ofstream outstream;
  FILE* outfile;

  outfile = fopen("bigfile", "w");

  __gnu_cxx::stdio_filebuf<char> fdbuf(outfile, std::ios::out |
                                       std::ios::binary);
  outstream.std::ios::rdbuf(&fdbuf);

  for(double i = 0; i <= 786432000000.0; i++) {
    outstream << "some data";

  fclose(outfile);
  return 0;

}

2
ответ дан 7 December 2019 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: