c语言 str函数

作者&投稿:湛鸿 (若有异议请与网页底部的电邮联系)
C语言如何使用strtonumber函数?~

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 将数字转成字符串。

  1、strcat()
  此函数原型为 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


深泽县18448895967: c语言中str是什么意思 -
诺诞美林: 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函数的答用法:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网