当前位置: 首页 > news >正文

wordpress phonegap赤城seo网站优化排名

wordpress phonegap,赤城seo网站优化排名,如何在拼多多开网店,台州网站建设策划一#xff0c;C语言的字符串 在C语言里#xff0c;对字符串的处理一项都是一件比较痛苦的事情#xff0c;因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。 比如下面这个例子#xff1a; //example 1: char str[12] Hello; char *…一C语言的字符串 在C语言里对字符串的处理一项都是一件比较痛苦的事情因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。 比如下面这个例子 //example 1: char str[12] Hello; char *p str; *p h;  //改变第一个字母 //example 2: char *ptr Hello; *ptr h;  //错误 第一个字符串时用数组开辟的它是可以改变的变量。而第二个字符串则是一个常量也就是字面值。ptr只是指向它的指针而已而不能改变指向的内容。 看两者的汇编即可明了 char p[] Hello; 004114B8  mov         eax,dword ptr [string Hello (4166FCh)] 004114BD  mov         dword ptr [ebp-10h],eax 004114C0  mov         cx,word ptr ds:[416700h] 004114C7  mov         word ptr [ebp-0Ch],cx char *ptr Hello; 004114CB  mov         dword ptr [ebp-1Ch],offset string Hello (4166FCh) 可见用数组和用指针是完全不相同的。 要想通过指针来改变常量是错误正确的写法应该是用const指针。 const char *ptr Hello; 二初识string类 正是因为C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握不适合大程序的开发所以C标准库定义了一种string类定义在头文件string。注意string.h和cstring都是错误的这两个头文件主要定义C风格字符串操作的一些方法譬如strlen(), strcpy()等。第一个是C的头文件格式而第二个是C风格的头文件但是和string.h是一样的它的目的是为了和C兼容。 看下面例子: //example 3: string str(world);   //可以用C风格字符串初始化 string words Hello; string greet words; string  join greet words;  //可以像基本类型一样操作 但是如果试图把string类型的对象直接赋给C风格的字符串的话编译器会报错的。 string var Olympic; char *ptr var;  //error 但是实际应用中这个问题也难以避免很多时候我们还是需要将string类型的转化为char*来实现自定义的操作C标准库也为了和之前用C写的程序兼容于是可以用string的c_str()函数。 string var Olympic; char *ptr var.c_str(); //还不能被编译 或者通过const_cast去掉其const属性亦可 char *ptrconst_castchar *(var.c_str()); //correct! 这样就可以通过ptr修改其指向的地址空间内容 但是c_str()为了防止意外地修改string对象返回的是const指针所以上面这段代码是不能被编译的。正确的应该是用const指针。 string var Olympic; const char *p  var.c_str(); //Correct! 这个c_str()方法在CIO流操作上也被广泛应用。 在打开文件时如果要指定文件名可以用C风格的字符串。如果用到string类型的字符串作为文件名时就必须调用c_str()方法将其转换为一个C风格字符串。 //example 4: string   filename;  //定义文件名称 cin filename; ifstream.open(filename.c_str());  //要使用C风格字符串 三 深入了解string类 对string有一定了解以后我们可以来了解C标准库定义的一系列丰富的字符串操作当然都是基于string类型。从某一种程度上来说string就是一种字符容器。 标准库为string定义了很多方法包括构造、插入(insert)、替换(assign和replace)、比较(compare)、查找(find)、删除(erase)、连接(append)以及对子串的操作(substr)。而每一种操作都有很多种重载。 比如插入除了包括标准容器的插入方式以外string类本身还有一些特有的插入方法。 //example 5: //与标准容器相同的插入操作 str.insert(iter, value) //在迭代器iter之前插入value, 返回新元素的迭代器 str.insert(iter, n, value); //在迭代器iter之前插入n个value返回void str.insert(iter, begin, end); //在迭代器iter之前插入迭代器begin和end标记范围内的元素返回void //string类特有的插入方法: str.insert(pos, n, ch); //在下标为pos的字符之前插入n个字符ch str.insert(pos, str2); //在下标为pos的字符之前插入string类型的对象str2的副本 str.insert(pos1, str2, pos2, len); //在下标为pos1的z字符之前插入string类型str2中从下表为pos2开始的len个字符 str.insert(pos, cp); //在下标为pos的字符前插入字符指针cp指向的C风格字符串的副本 总之string是一种非常灵活的字符串类型标准库让我们可以忽略内存管理和具体实现方式我们只需要关注其接口就好。并且初学者在使用字符串的时候也应尽量使用这种类型而不是C风格的字符串。 当然无C语言学习经历的人可以例外。
http://www.zqtcl.cn/news/90712/

相关文章:

  • 手机端网站图片上传如何做新公司取名字大全免费
  • vue.js网站建设智慧团建官方网站登录入口
  • 江宁区建设局网站网站建设 美食站点
  • 哈尔滨松北区建设局网站唐山企业网站模板建站
  • 服装公司网站策划书外网设计灵感网站
  • 学做婴儿衣服网站windows 建网站
  • 银饰品网站建设规划策划书wordpress近义词搜索
  • 淘宝联盟网站推广位怎么做网站开发合同支付
  • 有没有一些有试卷做的网站ios开发教程
  • 网站备案服务类型红酒公司网站源码
  • 南宁网站优化推广方案4000套微信小游戏源码
  • 什么犁网站做淘宝门头阿里云 wordpress建站
  • 免费网站建设凡科设计师的网站有哪些
  • 微信公众号运营方法seo 排名 优化
  • 深圳做营销网站设计淘宝网官方网站免费下载
  • 菏泽住房和城乡建设厅网站企业查询官网免费查询一下
  • 青海网站建设公司电话163 com邮箱注册
  • 建设法律法规文本查询网站自由设计师是什么意思
  • 分站城市网站如何做seo上海网站建设选缘魁
  • 荆门网站建设电话如何制作网页链接二维码
  • 邳州微网站开发unsplash素材网站
  • 大型网站技术架构wordpress 换域名
  • 网站建设 首选百川互动织梦网站数据下载
  • pc端网站开发技术网站建设与维护工作内容
  • 凡科怎么建设网站可以做动画的网站
  • 企业网站整合网页界面设计案例赏析
  • 精美网站郑州企业培训
  • 网站备案是一年一次吗百度风云榜小说榜排名
  • 优化网站标题是什么意思wordpress主分类
  • 公司网站开发费计入办公费个人外贸网站建设