经过第一篇的hello,world程序之后,现在来修改它以得到一个可以在命令行中输入参数的程序,源代码如下:

 


  1. // 
  2. //  main.m 
  3. //  HelloObjective-c 
  4. // 
  5. //  Created by wong linwei on 11-12-21. 
  6. //  Copyright (c) 2011年 P&T. All rights reserved. 
  7. // 
  8.  
  9. #import <Foundation/Foundation.h> 
  10.  
  11. int main (int argc, const char * argv[]) 
  12.  
  13.     @autoreleasepool { 
  14.          
  15.         // insert code here... 
  16.         if (argc==1) { 
  17.             NSLog(@"you have to give a parameter about the file's path\n"); 
  18.         } 
  19.         FILE* file=fopen(argv[1], "r"); 
  20.         char word[100]; 
  21.         while (fgets(word, 100, file)) { 
  22.             word[strlen(word)-1]='\0'
  23.             NSLog(@"%s has %d characters\n",word,strlen(word)); 
  24.         } 
  25.         fclose(file); 
  26.          
  27.     } 
  28.     return 0; 

这个程序统计一个通过参数制定的文件中的单词的字符数。

如果直接运行的话,会出现如下错误:

 

xcode 4.2使用方法初探--控制台程序指定参数

可以看见程序的线程1接收到错误信号退出了。那么,怎么样给这样的控制台程序指定参数呢?如果通过终端找到可执行文件,然后给它传入参数,那自然是可以的,但是如果可以在xcode中指定的话,那就更好了。设置方法如下:

1.点击左上角的scheme,然后选择edit scheme,出现如下界面:

 

xcode 4.2使用方法初探--控制台程序指定参数

点开右边的Arguments,可以看到如下的图,然后设置路径,我这里是/tmp/file.txt。

 

xcode 4.2使用方法初探--控制台程序指定参数

然后再次点run,运行,出现如下结果:

 

xcode 4.2使用方法初探--控制台程序指定参数

说明设置参数成功了!