标签: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循环输出。运行后的结果如图:
接下来,我们将简单的循环输出数字改成循环输出字符串,并计算每个字符串的长度。修改后的代码如下:
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()函数是统计字符串长度用的。运行后的结果如图:
接下来,我们进一步修改代码,使得循环输出的字符串不是从字符串数组中获取,而是从文本文件中获取的。
首先,我先给大家基本普及下用C语言来对文件读取的基本操作。
(1)主要的操作有:fopen(打开文件) fclose(关闭文件);
(2)定义函数 FILE * fopen(const char * path, const char * mode);
PS:参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r:打开只读文件,该文件必须存在。
r+:打开可读写的文件,该文件必须存在。
w:打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+:打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
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 }
《objective-c基础教程》学习笔记(二)—— for循环的基本应用
标签:style blog http io ar color os sp for
原文地址:http://www.cnblogs.com/jianglan/p/4122057.html