易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++ 字符串处理函数

刚开始学C/C++时,一直对字符串处理函数一知半解,这里列举C/C++字符串处理函数,希望对初学者有一定的帮助。
C:
char st[100];
1. 字符串长度
   strlen(st);
2. 字符串比较
   strcmp(st1,st2);
   strncmp(st1,st2,n);   把st1,st2的前n个进行比较。
3. 附加
   strcat(st1,st2);
   strncat(st1,st2,n);   n表示连接上st2的前n个给st1,在最后不要加'\0'。
4. 替换
   strcpy(st1,st2);
   strncpy(st1,st2,n); n表示复制st2的前n个给st1,在最后要加'\0'。
5. 查找
   where = strchr(st,ch)   ch为要找的字符。
   where = strspn(st1,st2); 查找字符串。
C++:
<string>
string str;
1. 字符串长度
   len = str.length();
   len = str.size();
2. 字符串比较
   可以直接比较
   也可以:
   str1.compare(str2);
   str1.compare(pos1,len1,str2,pos2,len2); 值为负,0 ,正。
   nops 长度到完。
3. 附加
   str1 += str2;
   或
   str1.append(str2);
   str1.append(str2.pos2,len2);
  
4. 字符串提取
   str2 = str1.substr();
   str2 = str1.substr(pos1);
   str2 = str1.substr(pos1,len1);
5. 字符串搜索
   where = str1.find(str2);
   where = str1.find(str2,pos1); pos1是从str1的第几位开始。
   where = str1.rfind(str2); 从后往前搜。
6. 插入字符串
   不是赋值语句。
   str1.insert(pos1,str2);
   str1.insert(pos1,str2,pos2,len2);
   str1.insert(pos1,numchar,char);    numchar是插入次数,char是要插入的字符。
7. 替换字符串
   str1.replace(pos1,str2);
   str1.replace(pos1,str2,pos2,len2);
8. 删除字符串
   str.erase(pos,len)
   str.clear();
9. 交换字符串
   swap(str1,str2);
10. C --> C++
   char *cstr = "Hello";
   string str1;
   cstr = cstr;


相关文档:

VC++中操作XML(MFC、SDK)

VC++中操作XML(MFC、SDK)
2009年01月07日 星期三 22:33
XML在Win32程序方面应该没有在Web方面应用得多,很多
Win32程序也只是用XML来存存配置信息而已,而且没有足够
的好处的话还不如用 ini。VC++里操作XML有两个库可以用:
MSXML和XmlLite。MSXML又细分了两种接口:DOM和SAX2。XP没自带有 XmlLite,只自带有2.x、3 ......

c版本与c++版本的动态数组代码

C版本:
vim stash.h
#ifndef STASH_H
#define STASH_H
typedef struct STASHTag {
  int size;  /* Size of each space */
  int quantity; /* Number of storage spaces */
  int next; /* Next empty space */
  /* Dynamically allocated array of bytes: */
  unsigned char* ......

C++还是C?

去年 我们通过了计算机二级的考核,接下来面临的就是三级的考验了,
郁闷的是  不知道是选择哪种语言好!
三级上机 规定的语言是C语言,我学的是C++,老师说:这对你的上机考试时有影响的!
  从长远角度看:C++比C语言有着更加广阔的前景;而C语言对于上机考试 好容易上手!
郁闷。。。。。。 ......

c和c++的微妙的不同

在c++中存在,在c语言中却不存在的限制有:
1. 完整的函数原型声明是必须的,c语言里没这么严格.
2. c++中,由typedef定义的名字不能与已有的结构标签冲突,但是c语言中却是可以的.
3. 当void*指针赋值给另一个类型的指针时,c++规定必须进行强制类型转换,但是c语言中却不必要。
在c++和c中含义不一样的特性:
1. c++ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号