Java程序猿学习C++之字符串
#include <iostream>
#include <string.h>
using namespace std; int my_len(const char *str)
{
int len = 0;
// while (*str != '\0')
// {
// ++len;
// ++str;
// } while (*(str++) != '\0')
{
++len;
} return len;
} void my_cpy(char *dst,const char *src)
{
while (*src != '\0')
{
*dst = *src;
++dst;
++src;
}
} int main()
{
char str1[] = "abc";//后面自己主动加上'\0'
char str2[] = { 'a', 'b', 'c' };//后面不会自己主动加上个'\0',作为字符串会一直找到'\0'标志
char str3[] = { 'a', 'b', 'c' ,'\0'};
char str4[10] = "abc"; // 4 3 4 10
cout << sizeof(str1) << "," << sizeof(str2) << "," << sizeof(str3) << "," << sizeof(str4) << endl;
// 3 15 3 3
cout << strlen(str1) << "," << strlen(str2) << "," << strlen(str3) << "," << strlen(str4) << endl;
cout << my_len(str1) << "," << my_len(str2) << "," << my_len(str3) << "," << my_len(str4) << endl; // abc abc烫烫烫烫蘟bc abc abc
cout << str1 << "," << str2 << "," << str3 << "," << str4 << endl; //字符串赋值
//str1 = str2;// 错误。数组名是地址常量
//str1 = "hello";// 错误。数组名是地址常量
strcpy(str4,str1); //strcmp(str1,str2);字符串比較
//strcat(str3,str2);字符串拼接,必须推断空间是否够 //字符串切割
char str[] = "this is a test";
char *token = strtok(str, " ");
while (token != NULL)
{
cout << token << endl;
token = strtok(NULL," ");
} return 0;
}
c++风格字符串
#include <iostream>
#include <string>
using namespace std; int main()
{
string str1 = "hello";
string str2 = "abc";
string str3 = "abc"; //拷贝赋值
str3 = str1;
cout << str1 << "," << str3 << endl; //获取长度
cout << str1.length() << endl; //字符串的比較
str1.compare(str3); //字符串拼接
str3 += str2; //字符串切割
string str4 = "this is a test";
//转换为c风格的string
//char *token = strtok((char *)str4.c_str(), " ");//强制类型转换
char *token = strtok(const_cast<char *>(str4.c_str()), " ");
while (token != NULL)
{
cout << token << endl;
token = strtok(NULL, " ");
} //遍历字符串(string::size_type i = 0; i < str1.length();i++)
for (string::size_type i = 0; i < str1.length(); i++)
{
cout << str1[i] << "-" ;
}
cout << endl; for (string::size_type i = 0; i < str1.length(); i++)
{
cout << str1.at(i) << "-";
}
cout << endl; for (string::iterator itr = str1.begin(); itr != str1.end();++itr)
{
cout << *itr << "-";
}
cout << endl; int cnt = 0;
while (cnt < 50)
{
if (str1.size() == str1.capacity())
{
//cout << "hhh";
}
str1.push_back('*');
cnt++;
//cout << str1.size() << "," << str1.capacity() << endl;
} str1.clear();
if (str1.empty())
{
cout << "str1.empty";
} return 0;
}
Java程序猿学习C++之字符串的更多相关文章
- 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- Java程序猿学习当中各个阶段的建议
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的 ...
- 顺便谈谈对于Java程序猿学习当中各个阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- 人在囧途——Java程序猿学习Python
引言 LZ之前其实一直对python都很好奇,只是苦于平时没有时间去了解它,因此趁着51假期这个机会,便迫不及待的开始了自己的探索.作为一个标准的Java程序猿,在了解python的过程当中,LZ遇到 ...
- Java程序猿学习的建议(转)
第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 一.Java基础 首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应 ...
- Java程序猿学习C++之数组和动态数组
数组: #include <iostream> using namespace std; //模板函数 template <class T> void dump(T val) ...
- 如何准备阿里社招面试,顺谈 Java 程序员学习中各阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- 一个两年java程序猿的2017个人总结
前言 又到了一年中最后的日子了,相信有不少公司要求员工写年度总结了,我也不例外.不过个人感觉在公司的写个年度总结来说,过于模板化了.其实很多没有必要.总之,本篇的个人总结,是按照个人的想法写的.简而言 ...
- 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...
随机推荐
- juery mobile select下来菜单选项提交form问题
注意: data-native-menu="false" 虽然具有渲染作用,但是无法进行js提交. <script type="text/javascript&q ...
- 计算几何模板 (bzoj 1336,poj 2451 ,poj3968)
poj 3968 (bzoj 2642) 二分+半平面交,每次不用排序,这是几个算几版综合. #include<iostream> #include<cstdio> #incl ...
- 【技术贴】解决 myeclipse打不开报错an error has occurred, see .
方法1.右键选中快捷方式属性选项,在快捷方式页,目标一项最后加上-clean选项,如C:\MyEclipse6\eclipse.exe -clean. 然后重新启动一下MyEclipse. 方法2. ...
- csu 10月 月赛 I 题 The Contest
Description 殷犇有很多队员.他们都认为自己是最强的,于是,一场比赛开始了~ 于是安叔主办了一场比赛,比赛有n个题目,每个题目都有一个价值Pi和相对能力消耗Wi,但是有些题目因为太坑不能同时 ...
- real-time application
http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx ...
- MySQL 对于大表(千万级),要怎么优化呢?
http://www.zhihu.com/question/19719997 提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须 ...
- Java final知识点
被final修饰的值,只可以被赋值一次. 被final修饰的类,其所有方法就变成了final方法,该类也不能被继承. 被final修饰的方法,不能在子类中重写. public static void ...
- 【UVA 11354】 Bond (最小瓶颈生成树、树上倍增)
[题意] n个点m条边的图 q次询问 找到一条从s到t的一条边 使所有边的最大危险系数最小 InputThere will be at most 5 cases in the input file.T ...
- java向文件写数据的3种方式
下边列举出了三种向文件中写入数据的方式,当然还有其他方式,帮助自己理解文件写入类的继承关系.类的关系: file->fileoutputstream->outputstreamWriter ...
- [OJ] Find Minimum in Rotated Sorted Array
LintCode 159. Find Minimum in Rotated Sorted Array (Medium) LeetCode 153. Find Minimum in Rotated So ...