码迷,mamicode.com
首页 > 其他好文 > 详细

《objective-c基础教程》学习笔记(二)—— for循环的基本应用

时间:2014-11-25 23:28:42      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   for   

  在上一篇博文中,我们介绍了如何开发前期的准备,以及简单的类型输出实例。

  这篇博文,我要记录一个for循环输出的实例。并对此展开,改变成不同的三个小函数。

 1 int main(int argc, const char * argv[])
 2 {
 3     int count = 5;
 4     NSLog(@"The numbers from 1 to %d:", count);
 5     int i;
 6     for (i=1; i<=count; i++)
 7     {
 8         NSLog(@"%d\n", i);
 9     }
10     return  (0);
11 }

  学过C语言的朋友,可以很容易看明白上面的代码。就是先输出一行 “The numbers from 1 to 5:”。然后数字从1到5循环输出。运行后的结果如图:

bubuko.com,布布扣

  接下来,我们将简单的循环输出数字改成循环输出字符串,并计算每个字符串的长度。修改后的代码如下:

 1 int main(int argc, const char * argv[])
 2 {
 3     const char *words[4]={"about","above","apple","A \"Macbook pro\""};
 4     int wordCount = 4;
 5     int j;
 6     for (j=0; j< wordCount; j++)
 7     {
 8         NSLog(@"%s is %lu characters long", words[j], strlen(words[j])); //%s 输出字符串
 9     }
10     return  (0);
11 }

  在上面的代码中,const关键字表示,我们定义的是个不能被改变的字符串数组。数组中的最后一个字符串中,有‘“’要输出,所有要对其进行转义,用转义字符”\“。

这样,就可以通过for循环依次输出字符串中的元素。%s是输出字符串用的指示符,%lu是输出整形数字用的指示符。strlen()函数是统计字符串长度用的。运行后的结果如图:

bubuko.com,布布扣

  接下来,我们进一步修改代码,使得循环输出的字符串不是从字符串数组中获取,而是从文本文件中获取的。

首先,我先给大家基本普及下用C语言来对文件读取的基本操作。

(1)主要的操作有:fopen(打开文件) fclose(关闭文件);

(2)定义函数 FILE * fopen(const char * path, const char * mode); 

PS:参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

  mode有下列几种形态字符串:
    r:打开只读文件,该文件必须存在。
    r+:打开可读写的文件,该文件必须存在。
    w:打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
    w+:打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
    a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

  介绍完文件的操作和调用的基本方法。首先,我们在对应文件夹中创建一个txt后缀的文本文件,添加要输出的内容。
 
bubuko.com,布布扣
 
  接着,我们就直接给大家看修改后的代码了:
 1 int main(int argc, const char * argv[])
 2 {
 3     FILE *wordFile = fopen ("/Documents/ch2/ch2/words.txt", "r");
 4     //判断文件是否为空
 5     if(wordFile == NULL)
 6     {
 7         return (0);
 8     }
 9     char word[100];
10     while (fgets(word, 100, wordFile))
11     {
12         //统计的时候,要去掉后面的换行符 \n
13         word[strlen(word)-1] = \0;
14         //去掉后面的换行符 \r
15         word[strlen(word)-1] = \0;
16         NSLog(@"%s is %lu characters long", word, strlen(word));
17     }
18     fclose(wordFile);
19     return  (0);
20 }   
  在代码中,对了一个对文件是否存在的判断。防止在没有文件的时候,继续执行代码,避免不必要的异常。由于文本文件中,有\r\n等换行符号,所以要先替换多余的字符内容。于是,执行后的结果如下图:
bubuko.com,布布扣
 
  好了,例子介绍完了,有哪些不足或者说错的地方希望大家指正,谢谢。接下来的博文,我会开始给大家介绍OC学习中,面向对象编程的东西。希望自己能坚持下去,早日学习好Objective-C开始真正的ios开发之路。
 

《objective-c基础教程》学习笔记(二)—— for循环的基本应用

标签:style   blog   http   io   ar   color   os   sp   for   

原文地址:http://www.cnblogs.com/jianglan/p/4122057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!