c语言 str函数
strtonumber 不是C语言的标准库函数。
你可以自己 定义一个 strtonumber 函数。
例如:
把字符串转化为整形数值返回。
int strtonumber (char *str) {
int x; sscanf(str,"%d",&x); return x;
}
调用:
char s[]="23456";
int v;
v = strtonumber(s);
printf("v=%d
",v); 输出 23456。
例如:
把字符串转化为double型 数值 返回。
double strtonumber (char *str) {
double x; sscanf(str,"%lf",&x); return x;
}
调用方法类似:
double v;
v = strtonumber(s);
str -- 通常,程序员喜欢用它作字符串变量名。它是 string(英文词、字符串的缩写)
Str函数,返回代表一数值的 Variant(String)。语法Str(number)必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。说明当一数字转成字符串时,总会在前头保留一空位来表示正负。
扩展资料:
如果 number 为正,返回的字符串包含一前导空格暗示有一正号。使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。
注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
此函数原型为 char *strcat(char *dest, const char *src).
功能为连接两个字符串,把src连接到dest后面;返回dest地址
实现如下
[cpp] view plaincopy
char * strcat(char *dest,const char *src)
{
char* addr=dest;
while(*dest)//找到'\0'
{
dest++;
};
while(*dest++=*src++)
{};
return addr;
}
2、strcmp()
此函数的函数原型为 int strcmp(const char *str1, const char *str2).
功能为比较两个字符串。
当str1指向的字符串大于str2指向的字符串时,返回正数。
当str1指向的字符串等于str2指向的字符串时,返回0。
当str1指向的字符串小于str2指向的字符串时,返回负数。
实现如下:
[cpp] view plaincopy
int strcmp(const char *str1, const char *str2)
{
while(*str1==*str2)
{
if(*str1=='\0')
return 0;
str1++;
str2++;
}
return *str1-*str2;
}
3、strcpy()
此函数原型为 char *strcpy(char* dest, const char *src)
功能为拷贝字符串内容到目的串,把src所指向的内容拷贝到dest
实现如下
[cpp] view plaincopy
char *strcpy(char *dest,const char *src)
{
//assert(dest!=NULL&&src!=NULL);
char *addr=dest;
while(*dest++=*src++);
return addr;
}
4、strlen()
此函数原型为unsigned in strlen(const char *str)
功能为返回字符串str的长度(不包括'\0')。
实现如下:
[cpp] view plaincopy
unsigned int strlen(const char *str)
{
unsigned len=0;
while(*str!='\0')
{
len++;
str++;
}
return len;
}
5、strchr() strrchr()
char *strchr(char *str, char c)
功能为查找str中首次出现c的位置,如有有,则返回出现位置,否则返回NULL。实现如下:
[cpp] view plaincopy
char *strchr(char *str, char c)
{
while(*str!='\0'&&*str!=c)
{
str++;
}
return (*str==c? str: NULL);
}
char *strrchr(char *str, char c)
功能为查找str中最后一次出现c的位置,如有有,则返回出现位置,否则返回NULL。实现如下:
[cpp] view plaincopy
char *strrchr(char *str, char c)
{
char *p=str+strlen(str);//p指向最后一个字符
while(p!=str&&*p!=c)
p--;
if(p==str&&*p!=c)
return NULL;
else return p;
}
6、strcspn() strspn()
strcspn
原型:size_t strcspn(const char *pstr, const char *strCharset)
MSDN解释为:在字符串pstr中搜寻strCharsret中所出现的字符,返回strCharset中出现的第一个字符在pstr中的出现位置。简单的说,若strcspn返回的数值为n,则代表字符串strCharsrt开头连续有n个字符不包含在pstr内的字符。
功能:返回后面字符串中第一个不在前者出现的下表。
7、strdup()
此函数原型为char *strdup(const char *str)
功能为拷贝字符串到新建的内存,返回内存指针。若失败,返回NULL。要注意,返回的指针指向的内存在堆中,所以要手动释放。
函数实现:
[cpp] view plaincopy
char *strdup(const char *str)
{
char *p=NULL;
if(str&&(p=(char*)malloc(strlen(str)+1)))
strcpy(p,str);
return p;
8、strrev()
此函数的原型为char *strrev(char *str)
功能为反转字符串,返回字符串指针。
函数实现:
[cpp] view plaincopy
char *strrev(char *str)
{
if(str==NULL)
return NULL;
char *start=str;
char *end=str+strlen(str)-1;
char temp;
while(start<end)
{
temp=*start;
*start=*end;
*end=temp;
start++;
end--;
}
return str;
}
9、strstr()
函数原型为char *strstr(const char str1, const char *str2)
功能为查找字符串str2在str1中出现的位置,找到则返回位置,否则返回NULL。
函数实现:
[cpp] view plaincopy
char *strstr(const char str1, const char *str2)
{
int length1=strlen(str1);
int length2=strlen(str2);
while(length1>=length2)
{
length1--;
if(!strncpy(str1,str2,length2))//比较前n个字符串,类似strcpy
return str1;
str1++;
}
return NULL;
}
//这里要理解stramp函数,原型是 int strcmp(char *str1,char *str2),这个实现字符串的对比,先用str1里面第一个字母减去str2里面的第一个字母得到一个ACII值,判断若该值大于0就返回1,若小于0就返回-1,若等于0就继续用各字符串里德第2,第3个字母相减,知道结束符\0为止就认为2个字符串时相同的,返回0
//这里b的值为98,m=109,所以strcmp(str[0],str[1])>0,第一个if不执行,执行else ,string="m",然后strcmp(str[2],string),a-m<0,不执行
//最后输出m下边程序是在vc6.0下写的,可以直接编译,看注释很好理解#include<stdio.h>#include<string.h>
;
main(){ int i;char string[20],str[3][20]={"bcdefgh","m","abcdefg"};printf("%d\n",strcmp(str[0],str[1])); if(strcmp(str[0],str[1])>0)
{
strcpy(string,str[0]);
printf("1\n");//如果执行这个if语句就会输出1
} else strcpy(string,str[1]); if(strcmp(str[2],string)>0)
{ strcpy(string,str[2]);
printf("2\n");//如果执行这个if语句就会输出2
} printf("%s\n",string);}
也许你迷惑的地方:gets(数组名):假如字符数组的长度为9,当从键盘输入字符串时,gets函数最多只能接收8个字符,因为系统要在字符串末尾加上'\0'。当输出字符串时,遇见'\0'就停止输出,而strcpy在使用时要连'\0'一起复制。
输出为m
m
诺诞美林: str -- 通常,程序员喜欢用它作字符串变量名.它是 string(英文词、字符串的缩写) Str函数,返回代表一数值的 Variant(String).语法Str(number)必要的 number 参数为一 Long,其中可包含任何有效的数值表达式.说明当一数字转成字符串时...
深泽县18448895967: C语言的str函数,高手来啊 - ?
诺诞美林: printf("请输入要修改的院系:\n");scanf ("%s",gq);printf ("请输入变更后的学院名称:\n");scanf ("%s",gh);while (!feof(fp)){fscanf (fp,"%s",yuanxi);t=strcmp(yuanxi, gq);if(t==0){fprintf (fp,"%s\t",gh);n=0;}}
深泽县18448895967: 编写函数strlength(char *str),求字符串str的长度使用C语言 - ?
诺诞美林: unsigned int l=0; while(*(str++) !='\0') l++; return l;
深泽县18448895967: c语言 str函数 - ?
诺诞美林: 也许你迷惑的地方:gets(数组名):假如字符数组的长度为9,当从键盘输入字符串时,gets函数最多只能接收8个字符,因为系统要在字符串末尾加上'\0'.当输出字符串时,遇见'\0'就停止输出,而strcpy在使用时要连'\0'一起复制.
深泽县18448895967: C语言用函数strlen计算 - ?
诺诞美林: C语言规定,对于没有明确初始化的部分,默认初始化为0, 这个和字符串结束符\0的值是相同的. 于是str中存的就是 string加上6个\0 而strlen是到\0结束计算的,这样,字符串长度就是6 选A
深泽县18448895967: c语言strrchr求解 - ?
诺诞美林: pch = strrchr(szTagPrefix, '.'); //从后边查找. if (pch==NULL) { //没找到,输出,返回printf ("#093: BST_TopfieldOpen() - No Tag Connection -> ABORT\r\n");return (-93); } else {pch++; //找到了, 指针向后移1*pch = '\0'; //原地截断,相当于原字符串最后一个.后的字符抛弃
深泽县18448895967: C语言 实现字符串对比函数str - compare,简单的比较字符串>,<,= - ?
诺诞美林: #include<string.h> int strcmp(const char *s1,const char * s2); 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2.一般形式:strcmp(字符串1,字符串2) 说明:当s1<s2时,返回为负数 当s1=s2时,返回值= 0 当s1>s2时,返回正数
深泽县18448895967: C++中的 cin>>str1>>str2; cout<<strcat(str1,str2); 用C语言怎么表示? - ?
诺诞美林: strcat(str1,str2)这个函数作什么用的?cin>>str1>>str2可以表示为:scanf(“% s,%s”,&str1,&str2); 中间用逗号隔开
深泽县18448895967: 用C语言实现:strcmp(str1,str2)函数,比较两个字符串的大小(不区分大小写) - ?
诺诞美林: unsigned int strcmp(const char *str1, const char *str2) const {while(((*(str1++)==*(str2++))) && *str1 && *str2 ); return (*str1-*str2); }不区分大小写:可以把位于'A'-'Z'之间的字符加上32可变为'a'-'z'之间的字符后再调用上述函数.
深泽县18448895967: c语言中的strcat是什么意思啊? - ?
诺诞美林: 1、strcat是用来zhidao拼接字符串的,它会将参数 src 字符串复制到参数 dest 所指的字符串尾部.具体用法首先用vs2017新建一个c语言的程序文件,引入头文件,引入strcat函数所在的包“string.h”,最后设置一个主函数: 2、接着用str函数复制一段话,首先定义一个80位的char类型变量,接着用strcat函数拼接成一句话,str函数接受两个参数,前一个是待回拼接的变量,后面的是需要拼接的内容,可以是变量也可以是一串字符;最后用puts函数输出str的内容即可: 3、按下crtl+F5运行调试程序,在打开的命令提示符中就会显示出完整的一句话了.以上就是strcat函数的答用法: