用NSTask執行外部命令並獲取輸出結果的方法

2021-05-28 15:12:50 字數 843 閱讀 8795

本文介紹了如何通過nstask在當前目錄執行

「ls -l -a -t」

,並將結果儲存在

nsstring

中的基本方法。

nstask *task;

task = [[nstask

alloc] init];

[task setlaunchpath: @"/bin/ls"];

nsarray *arguments;

arguments = [nsarray

arraywithobjects: @"-l", @"-a", @"-t", nil];

[task setarguments: arguments];

nspipe *pipe;

pipe = [nspipe

pipe];

[task setstandardoutput: pipe];

nsfilehandle *file;

file = [pipe filehandleforreading];

[task launch];

nsdata *data;

data = [file readdatatoendoffile];

nsstring *string;

string = [[nsstring

alloc] initwithdata: data

encoding: nsutf8stringencoding];

nslog (@"got\n%@", string);

當然你可以使用不同的

nsfilehandle

方法作不同方式的讀取,同時你還可以建立乙個與呼叫的程式互動的管道。

用NSTask執行外部命令並獲取輸出結果的方法

本文介紹了如何通過nstask在當前目錄執行 ls l a t 並將結果儲存在 nsstring 中的基本方法。nstask task task nstask alloc init task setlaunchpath bin ls nsarray arguments arguments nsarr...

用NSTask執行外部命令並獲取輸出結果的方法

本文介紹了如何通過nstask在當前目錄執行 ls l a t 並將結果儲存在 nsstring 中的基本方法。nstask task task nstask alloc init task setlaunchpath bin ls nsarray arguments arguments nsarr...

vim tips 執行外部命令

簡介 vim 是十分強大的文字編輯工具,但有一些事它做不了。本文簡單說說在不離開 vim 編輯器的情況下,執行 shell 命令 工具。1.進入 shell 1 在 vim 中執行 shell或 sh,當退出當前 shell 時,就會回到 vim 2 也可以使用ctr z進入 shell,然後執行f...