我想從我的可可APP運行Bash命令。並接收輸出。我使用管理權限執行所有命令。 How to get output from Admin Priveleges bash script, called from Cocoa?什麼是Cocoa中的FILE *類型,以及如何正確使用它?
我想我需要FILE *類型來存儲輸出,但我不知道如何使用它。
什麼是FILE *類型?我該如何使用它?
我想從我的可可APP運行Bash命令。並接收輸出。我使用管理權限執行所有命令。 How to get output from Admin Priveleges bash script, called from Cocoa?什麼是Cocoa中的FILE *類型,以及如何正確使用它?
我想我需要FILE *類型來存儲輸出,但我不知道如何使用它。
什麼是FILE *類型?我該如何使用它?
FILE *
是C類型,它與可可沒有任何關係。它是一個打開文件的句柄。這裏有一個例子:
#include <stdio.h>
int main() {
FILE *file;
file = fopen("myfile.txt", "w"); // open file
if (!file) { // file couldn't be opened
return 1;
}
fputs("fopen example", file); // write to file
fclose(file);
return 0;
}
在可可,你應該正常使用NSString
的和NSData
的writeToURL:atomically:encoding:error:
和writeToURL:atomically:
方法,分別。
FILE是ANSI C結構用於文件處理。 fopen函數返回一個文件指針。該指針指向一個包含有關文件信息的結構,例如緩衝區的位置,緩衝區中的當前字符位置,文件是正在讀取還是已寫入,以及是否發生錯誤或文件結尾。用戶不需要知道詳細信息,因爲從stdio.h獲得的定義包含稱爲FILE的結構聲明。所需的文件指針的唯一聲明由
FILE *fp;
FILE *fopen(char *name, char *mode);
例證這是說計劃生育是一個指向文件的指針,並返回的fopen一個指針到一個文件中。請注意, FILE是一個類型名稱,如int,而不是結構標籤;它是用typedef定義的。
#include <stdio.h>
int main()
{
FILE * pFile;
char buffer [100];
pFile = fopen ("myfile.txt" , "r");
if (pFile == NULL) perror ("Error opening file");
else
{
while (! feof (pFile))
{
if (fgets (buffer , 100 , pFile) != NULL)
fputs (buffer , stdout);
}
fclose (pFile);
}
return 0;
}
本示例讀取名爲myfile.txt的文本文件的內容並將其發送到標準輸出流。
'FILE *'不是可可。這是POSIX C. –
好的謝謝。以及它應該如何在可可中使用? – User1234
@ User1234與C相同。請參閱我的答案。 – 2011-10-12 12:44:02