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(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...
随机推荐
- Longest common prefix | leetcode
Write a function to find the longest common prefix string amongst an array of strings. 思路:要去是寻找字符串ve ...
- 分享 - Social.framework
/** * 第三方分享 * * @param void 友盟分享 * @param shareSDK * @param 百度分享 */ #import "ViewController ...
- 【转】.Net程序员玩转Android系列之三~快速上手
原文:http://www.cnblogs.com/HouZhiHouJueBlogs/p/3962122.html 快速环境搭建和Hello World 第一步:JAVA SDK(JDK)的安装: ...
- Django: ModelForm中Meta的fields等成员介绍
class MyForm(forms.ModelForm): realname = forms.CharField() phone = forms.CharField() class Meta: mo ...
- 【2011 Greater New York Regional 】Problem B The Rascal Triangle
一个简单的规律题,每一列都是一个等差数列: 代码: #include<cstdio> #define ll long long using namespace std; int main( ...
- HTML input标签的checked属性与Razor解析
在HTML中,input标签可以通过type属性设置为checkbox.同时,也就包含了一个checked属性.对于这个checked属性,有一个特别的地方就是,它可以不需要属性值就可以表示是否选择了 ...
- A WCF-WPF Chat Application
http://www.codeproject.com/Articles/25261/A-WCF-WPF-Chat-Application
- Unreachable catch block for IOException. This exception is never thrown from the try statement body
Unreachable catch block for IOException. This exception is never thrown from the try statement body ...
- C#面向对象——方法的重载及构造函数、静态对象。
namespace nameclass2 { class Class2 //方法的重载 { public void Function( string s) { Console.WriteLine(s) ...
- Hash Killer I II
题意大概: 1.字符串hash不取模,自动溢出 构造数据卡这种hash 2.字符串hash取模1000000007,构造数据卡这种hash 题解传送门:VFleaKing http://vfleak ...