//
// main.m
// OC_NSString
//
// Created by qianfeng on 15/6/10.
// Copyright (c) 2015年 qianfeng. All rights reserved.
// #import <Foundation/Foundation.h> //NSString 字符串类 创建不可变字符串对象的类
//NSMutableString 创建可变字符串对象类 //OC语言完全兼容C语言,C语言中的函数,以及语法都可以在OC中使用
//OC字符串与C语言字符串区别
//1.OC字符串是一个字符串对象,字符串常量需要用 @"" 包含
//2.C语言字符串用 "" 包含
//3.C语言的字符串存储的是以字符的ASCII形式存储
//4.OC中的字符串存储是以uicode编码(万国码)形式存储
//UTF-8(多字节编码)
//5.打印OC的字符串用 %@ ,打印C语言的字符串用 %s;
//
//
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"hello world";//@"hello world"是一个字符串常量,存储在常量区
NSLog(@"str1 = %@",str1);
//格式化创建字符串对象
//对象方法
//- (instancetype)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
NSString *str2 = [[NSString alloc] initWithFormat:@"%s%d%@","hello",,@"world"];
NSLog(@"str2 = %@",str2);
//格式化的类方法创建字符对象
//+ (instancetype)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); NSString *str3 = [NSString stringWithFormat:@"%s%d%@","qian",,@"feng"];
NSLog(@"str3 = %@",str3); //用给定的字符串对象创建字符串对象
NSString *str4 = @"中国教育";
NSString *str5 = [[NSString alloc] initWithString:str4];
NSLog(@"str5 = %@",str5); //用C的字符串创建OC的字符串对象
NSString *str6 = [[NSString alloc] initWithUTF8String:"qianfengjiaoyu"];
NSLog(@"str6 = %@",str6); NSString *str7 = [[NSString alloc] initWithCString:"千锋qianfeng" encoding:NSUTF8StringEncoding];
NSLog(@"str7 = %@",str7); //创建一个空的字符串对象 @"" ;
NSString *str8 = [NSString string];
NSLog(@"str8 = %@",str8); NSString *str9 = [[NSString alloc] init];
NSLog(@"str9 = %@",str9); //跟initWithString相对应
NSString *str10 = [NSString stringWithString:str7];
NSLog(@"str10 = %@",str10); //跟initWithUTF8String相对应
NSString *str11 = [NSString stringWithUTF8String:"hello world 中国"];
NSLog(@"str11 = %@",str11); NSString *str12 = [NSString stringWithCString:"zhongguo" encoding:NSUTF8StringEncoding];
NSLog(@"str12 = %@",str12);
}
return ;
}

OC_NSString的更多相关文章

  1. OC_NSString、

    8月17日NSString 一.字符串的创建 //1.创建常量字符串 NSString *str1 = @"hello world"; NSLog(@"%@", ...

随机推荐

  1. C++学习笔记(十六):友元

    问题的提出: 我们已知道类具备封装和信息隐 藏的特性.只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的.非成员函数能够访问类中的公有成员,但是假如将数据成员都定义 为公有的, ...

  2. Winform- TreeView的使用例子

    自动递归生成树,点击树节点的事件在treeView1_AfterSelect里编写,不多说了,直接上代码,备注在这里一下 public partial class Form1 : Form { pub ...

  3. WEB- 冻结TABLE的头和列

    没认真去研究是怎么实现的,看到效果,心里觉的很牛,备注在这里 转载自:http://www.cnblogs.com/Microshaoft/archive/2011/08/10/2133434.htm ...

  4. 使用JavaScript实现分页效果

    应公司需求,有时需要制作静态页面网站,而一旦涉及到文章的分页,实现起来非常麻烦,自己又刚入门,对js不是很熟悉,所以就拿来练练手. 首先页面结构如下,分别展示数据跟分页: <!DOCTYPE h ...

  5. 关于python文件操作 (转载)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  6. unity3D中协程和线程混合

    这是我google unity3D一个问题偶然发现的在stackflow上非常有趣的帖子: 大意是 要在unity3D上从server下载一个zip,并解压到持久化地址.并将其载入到内存中.以下展示了 ...

  7. [Practical Git] Show who changed a line last with git blame

    When working on a file, we often want to know who made certain changes last; we can use git blame to ...

  8. [MODx] 8. Snippet get data, chunk display

    Simple Example: Lets process this chunk and output its value. We have this Chunk, called "Welco ...

  9. 关于Log4j的初始化

     1Log4j是什么 Log4j是Apache比較优秀的开源项目.在各个平台和项目中有较为广泛的应用.是为JAVA平台开发的日志管理平台.同一时候,Log4j也是JAVA开发项目中使用比較普遍的日 ...

  10. 文件和目录之stat、fstat和lstat函数

    #include <sys/stat.h> int stat( const char *restrict pathname, struct stat *restrict buf ); in ...