經過第一篇的hello,world程序之後,現在來修改它以得到一個可以在命令行中輸入參數的程序,源代碼如下:
- //
- // main.m
- // HelloObjective-c
- //
- // Created by wong linwei on 11-12-21.
- // Copyright (c) 2011年 P&T. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- int main (int argc, const char * argv[])
- {
- @autoreleasepool {
- // insert code here...
- if (argc==1) {
- NSLog(@"you have to give a parameter about the file's path\n");
- }
- FILE* file=fopen(argv[1], "r");
- char word[100];
- while (fgets(word, 100, file)) {
- word[strlen(word)-1]='\0';
- NSLog(@"%s has %d characters\n",word,strlen(word));
- }
- fclose(file);
- }
- return 0;
- }
這個程序統計一個通過參數制定的文件中的單詞的字符數。
如果直接運行的話,會出現如下錯誤:
可以看見程序的線程1接收到錯誤信號退出了。那麼,怎麼樣給這樣的控制檯程序指定參數呢?如果通過終端找到可執行文件,然後給它傳入參數,那自然是可以的,但是如果可以在xcode中指定的話,那就更好了。設置方法如下:
1.點擊左上角的scheme,然後選擇edit scheme,出現如下界面:
點開右邊的Arguments,可以看到如下的圖,然後設置路徑,我這裏是/tmp/file.txt。
然後再次點run,運行,出現如下結果:
說明設置參數成功了!