`
kaoyudu
  • 浏览: 37394 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

C/C++中的字符串

 
阅读更多

  getch函数 Head File  #include "conio.h" 功能:从控制台无回显的读取一个字符    ||    用法:int void getch()
  该函数函数经常用于交互输入的过程中完成暂停等功能
  getche函数
  Head File  #include "conio.h"
  功能:从控制台带回显的读取一个字符    ||    用法:int void getche()
  该函数函数经常用于交互输入的过程中完成暂停等功能
  getchar函数
  Head File  #include "conio.h"
  功能:从控制台带回显的读取一个字符    ||    用法:int void getchar()
  该函数也是从键盘上读入一个字符,   并带回显。它与前面两个函数的区别在于:  getchar()函数等待输入直到按回车才结束,  回车前的所有输入字符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。 for( i = 0; (ch = getchar()) != EOF && (ch!='\n'); i++ ) buffer[i] = (char)ch; 表示读到文件结束停止!与getchar对应的还有putchar函数,此函数的作用是将getchar函数读入的内容的第一个字符显示出来。
  strlen(string)
  功能:用于测试字符串长度,即除字符串结束标记外的所有字符的个数。 #include  #include "string.h" #include  void main( void ) { char strBuf[100]; scanf("%s",strBuf); printf("%s",strBuf); int k=strlen(strBuf); printf("\n%d",k); getch(); } strupr(string) / strlwr(string) 功能:字符串大小写转换函数 printf("\n%s",strupr(strBuf)); printf("\n%s",strlwr(strBuf)); strcpy(string1,string2)/strncpy(string1,string2,n) 功能:将"字符串"按"整型表达式(n)"指定的个数组成字符串存入"字符串"中,若省略"n",则将整个"字符串"存入数字中
  注意:在使用函数strncpy时,如果按整形表达式来复制时,会出现"....烫烫烫烫烫烫..."主要是因为复制后字符串str1不是以'\0'结尾
  ,此时需要手动将字符串结束符号加入。 #include  #include "string.h" #include  void main( void ) { char strBuf1[100],strBuf2[100],strBuf3[100]; //scanf("%s",strBuf1); gets(strBuf1); strcpy(strBuf2,strBuf1); strncpy(strBuf3,strBuf1,3); strBuf3[3]='\0'; printf("strBuf2:%s",strBuf2); printf("\nstrBuf3:%s",strBuf3); } getcmp(string1,string2)/getncmp(string1,string2,n) 功能:getcmp表示比较两个字符串,getncpy表示比较两个字符串的前n位,若为缺省表示和strcmp函数相同 #include "string.h" #include "stdio.h" #include  void main() { int m; int n; char strArr1[80],strArr2[80]; puts("please input the first string:"); gets(strArr1); puts("please input the first string:"); gets(strArr2); m=strcmp(strArr1,strArr2); printf("\nstrcmp() returns %d",m); n=strncmp(strArr1,strArr2,2); printf("\nstrncmp() returns %d",n); //cout字符串string2中的前n位连接到string1中,结果存在string1。 #include "string.h" #include  void main() { char str1[100],str2[100]; puts("input string1:"); gets(str1); puts("input string2:"); gets(str2); //strcat(str1,str2); strncat(str1,str2,3); puts(str1); } 下面是C/C++面试时遇到的一些题目
  1. 不调用C library实现字符串的复制功能 #include "stdio.h" #include "iostream" using namespace std; char *strcpy1(char *, const char *); void main() { char strD[20]; const char *strS="woshishui"; strcpy1(strD,strS); printf("%s",strD); } char *strcpy1(char *strDess, const char *strSrss) { char *address=strDess; while((*strDess++ = *strSrss++ )!='\0'); return address; }  2. 请写一个函数来模拟C++中的strstr()
  strstr函数的功能是把主串中子串以及以后的字符全部返回。不调用库函数,实现此功能。 #include "stdio.h" #include "string.h" const char *strstr1(const char *hostStr,const char *subStr); void main() { // char *str=strstr("1234567","345"); // printf("%s",str); char *string1="1234567"; char *string2="345"; //strstr1(string1,string2); printf("%s",strstr1(string1,string2)); } const char *strstr1(const char *hostStr,const char *subStr) { for (int i=0;hostStr[i]!='\0';i++) { int j=0; int temp=i; if (hostStr[i]==subStr[j]) { while (hostStr[i++]==subStr[j++]) { if(subStr[j]=='\0') return &hostStr[i-j]; } i=temp; } } return NULL; }
分享到:
评论

相关推荐

    c/c++复制字符串到剪粘板中

    c/c++复制字符串到剪粘板中

    使用C/C++实现字符串的反转

    使用C/C++实现字符串的反转,不能使用系统函数

    C/C++实现字符串拆分

    C/C++实现字符串的拆分截取,输入一个字符串,并输入截取起始位置和截取长度,返回截取到的结果

    C语言字符串函数大全C/C++基础 字符串操作大全

    C语言字符串函数大全C/C++基础 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) ...

    C#调用C/C++DLL收取中文字符处理

     C/C++字符串一般通过char* 或wchar_t*来表示,char*表示的是ANSCII字符串, wchar_t*表示Unicode字符串,Unicode字符串在C/C++中一个字符占用两个字节,ANSII字符串一个字符占用一个字节(中文占用两个字节), ...

    c/c++字符串操作大全

    c/c++字符串操作大全,基本包含了对字符串的全部操作,简单实用。

    C/C++实现字符串模糊匹配

    需求:  准入授权配置文件有时候分了好几个维度进行配置,例如 company|product|sys这种格式的配置: 1.配置 “sina|weibo|pusher” 表示... 面对这个需求我第一时间想的是如何设计模式串,如何快速实现功能,因为我现

    C/C++字符串,字符转数字,数字转字符

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。字符串是以“\0”作为结束符。

    二维码(QRcode)生成算法 C语言/C++源码

    #二维码(QRcode)生成算法 C语言/C++ 源码 1. 根据输入字符串识别编码模式; 2. 根据输入字符串长度选择合适的QRcode版本; 3. 将编码转换为二进制位流表示为数据码字; 4. 使用多项式生成纠错码; 5. 将数据码和...

    C/C++的split分隔字符串

    标准C/C++编写的字符串分隔函数,可以设置分隔字符串,解出字符串存到vector里面。有需要的可以下载

    C语言,C++字符串处理函数

    C语言,C++字符串处理函数,涵盖了不少的字符串处理的算法。

    格C/C++语言式化字符串

    C/C++语言格式化字符串 %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g...

    中英文字符串分割算法C++C程序示例

    中英文字符串的切割边界的确定算法 >> 一些背景知识: 1. 一个汉字在c\c++的存储, 使用2个字节(char)存储; 2. 汉字存储的第一个char, 其值一定大于'~'(0111 1110=126),否则将导致识别歧义; 此处, 使用"单ASCII...

    详解C++中十六进制字符串转数字(数值)

    详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用:  方法1: sscanf()  函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...

    C/C++:符串排序.rar(含完整注释)

    给定 n 个字符串,在这 n 个字符串中有相同的字符串,不同的字符串只有 num 个。要求首先输 入字符串的个数 n,然后输入 n 个字符串,将这 n 个字符串中 num 个不同的字符串按照字典序排序, 并输出每个字符串在这 n...

    详解C++ string常用截取字符串方法

    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); ...例1:直接查找字符串中是否具有某个字符串(返回”2″) std::string strPath = E:\\

    C/C++ 字符串转化成数字,支持任意进制

    本程序的执行效率未被验证和测试,仅用于初学者做算法研究

    c/c++调试示例《输出其中最大的字符串》

    输入5个字符串,输出其中最大的字符串。 【输入形式】 首先打印提示“Input 5 srings:";然后另起一行输入五个字符串,每个字符串之间用空格或回车或制表符隔开。 【输出形式】 首先打印“Max is:&...

    C/C++字符串的排序、粘贴与转型

    字符串的粘贴(全部粘贴、定长粘贴和是否允许字符串中包含空格); 字符串的排序; 代码使用的文件之间调用的方式,最终在主函数被调用使用。 代码基于VS2010编写,在VS2010以下版本可能无法点击工程文件直接运行,...

Global site tag (gtag.js) - Google Analytics