自己整理的关于C的一些字符串处理函数
鉴于在用C语言写一些字符串处理的程序时种种的不便,本人坚信"磨刀不误砍柴功"这个信条,于是在专门
进行了一次磨对C语言的磨刀,写了一些字符串的处理函数, 方便网友使用, 大家有好的解决方法也请告知一下.
我估计有一些C的库中肯定有比我这更好的函数, 但是本人没有找到, 望"行家"告知.
#include <string.h>
/********************************************************
返回字符ch在head字符串中首次出现的位置
********************************************************/
int indexString(char* head, char ch)
{
int i=0;
int flag=0;
while(head[i]!=0)
{
if(head[i] == ch)
{
flag=1;
break;
}
i++;
}
if(flag)
return i;
else
return -1;
}
/********************************************************
求子字符串的函数:取字符串head中从start位置到end
位置处的字符串,如head="hello world xphag",
subString(head, 0, strlen(head)-1)的结果为"hello world xphag"
subString(head, 0, 0)的结果为"h"
********************************************************/
char* subString(char* head, int start, int end)//取字符串的start位置到end位置的子字符串(含start),失败返回NULL
{
int i=0, j=0;
i=strlen(head);
if(start>=i || end>= i || start> end)
return NULL;
char* p=(char* )malloc(sizeof(char)* (end-start+2));
for(i=start; i<=end; i++ )
相关文档:
1.引言
C++语言的创建初衷是“a better
C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程
式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++ ......
在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int
范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即
0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。
那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展 ......
// & 与,将指定位置设置为0 | 或,将指定位置设置为1
//注: 只针对纯字母的情况
#include <stdio.h>
#include <string>
int main()
{
char str[6] = "xxing";
std::string str1 = "INGXX";
for(int i = 0; i < 5; i++)
{
str[i] &= 0xdf; ......
一. 何谓可变参数
int printf( const char* format, ...);
这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用”…”表示)。
而我们又可以用各种方式来调用printf,如:
printf("%d",value);
printf("%s",str);
printf("the number is %d ,st ......