//
// 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. Altium Designer导出部分元件过滤不焊接的元件【worldsing笔记】

    在Altium Designer画图过程中难免会多出单元电路,或是测试电路,特别是第一版时,有部分元件不用焊接   这时给采购.或是生产时有必要注明哪些元件不焊接,哪些元件不采购.有两种方法可以过滤: ...

  2. MySQL 约束

    MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息: 约束主要完成对数据的检验,保证数据库数据的完整性:如果有相互依赖数据 ...

  3. 剑指OFFER之数组中出现次数超过一半的数字(九度OJ1370)

    题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...

  4. btrace拓展工具-java应用性能诊断优化利器

    Btrace是一个实时监控工具,可以无需修改应用代码(事实上它修改了字节码),来达到不可告人的秘密!这是性能调优和诊断的利器! 它可以获取应用程序代码的执行时间,他可以让你无需修改代码,帮你做时间的打 ...

  5. cocos2d-x ClippingNode

    转自:http://blog.csdn.net/bill_man/article/details/8498424 可以根据一个模板切割图片的节点--CCClippingNode.这个类提供了一种不规则 ...

  6. 最近看了点C++,分享一下我的进度吧!

    #include <iostream> #include <cmath> #include <iomanip> using namespace std; //Stu ...

  7. ThinkPHP3.1快速入门(12)自动验证

    自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 验证规则 数据验证可以进行数据类型.业务规则.安全判断等方面的验证操作.数据验证有两 ...

  8. C# 设置 窗口最大化

    Main.WindowState = FormWindowState.Maximized;

  9. Project Management - 3) Manage Your Meetings

    1. 取消没有价值的会议 会议是有代价和成本的 不要举行顺序式的多人进度报告会议 eg: 这周做了什么,下周还要做什么? 除了发言人和项目经理外,每个人都会觉得无聊. 这种会议是在拖项目的后腿,赶紧停 ...

  10. MFC——AfxParseURL用法

    1.功能: 该函数解析URL字符串并返回服务的类型及组件,包含在 afxinet.h 头文件中. 2.定义 BOOL AFXAPI AfxParseURL(LPCTSTRpstrURL,DWORD&a ...