Я использую Ubuntu 11.10. Если я открываю терминал и вызываю :ps all
, я получаю усеченные результаты (, то есть не более 100 символов для каждой строки )до размера окна терминала.
Если я вызову ps all > file
Строки не усекаются, и вся информация находится в файле (Есть строка, которая имеет ~200 символов)
В C я пытаюсь добиться того же, но линии обрываются.
Я пробовал
int rc = system("ps all > file");
, а также варианты popen.
Я предполагаю, что оболочка, используемая системой (, и popen )по умолчанию выводит каждую строку на 80, что имеет смысл, если бы я анализировал ее с помощью popen, но поскольку я передаю ее в файл, я ожидаю, что она будет не обращайте внимания на размер оболочки, как я это делал, когда делал это в своей оболочке.
TL;DR
Как я могу убедиться, что ps all > file
не обрезает строки при вызове из приложения C?