zoukankan      html  css  js  c++  java
  • C/C++ 基础编程

    1.将int赋值给字符串(char数组或者string)

    char cBuf[10] = {0};
    方法1: sprintf
    sprintf(cBuf, "%d", n);
    string strTemp = cBuf;
    

    2.截取string字符串的其中一部分

    方法1: substr
    string str1 = "1234abcd";
    string str2 = str1.substr(4); // str2 = abcd
    

    3.查找某字符并截取此字符以后的string字符串

    方法1: find
    string str1 = "1234,abcd";
    string::size_type pos = str1.find(',');
    if(pos != string::npos)
    {
      string str2 = str1.substr(pos+1); // str2 = abcd
    }
    

    4.从左、中间、右边截取n个字符(C实现)

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /* 从字符串的左边截取n个字符 */
    char *left(char *_dest, const char *_src, int n)
    {
    	const char *ptr = _src;
    	char *pDest = _dest;
    	int len = strlen(_src);
    	if(n > len)
    		n = len;
    	while(n--)
    		*pDest++ = *ptr++;
    	*pDest = '';
    	return _dest;
    }
    
    /* 从字符串的nPos位置开始截取n个字符 */
    char *mid(char *_dest, const char *_src, int n, int nPos)
    {
    	const char *ptr = _src;
    	char *pDest = _dest;
    	int len = strlen(_src);
    	if(n > len)
    		n = len - nPos; // 从第nPos到最后
    	if(nPos < 0)
    		nPos = 0; // 从第一个开始
    	if(nPos > len)
    		return NULL;
    
    	ptr += nPos; // 从nPos位置开始
    	while(n--)
    		*pDest++ = *ptr++;
    	*pDest = '';
    	return _dest;
    }
    
    /* 从字符串的右边截取n个字符 */
    char *right(char *_dest, const char *_src, int n)
    {
    	const char *ptr = _src;
    	char *pDest = _dest;
    	int len = strlen(_src);
    	if(n > len)
    		n = len;
    	ptr += len - n;
    	while(n--)
    		*pDest++ = *ptr++;
    	*pDest = '';
    	return _dest;
    }
    

    测试代码:

    char *ptr = "hello world";
    char cBuf[1024] = {0};
    left(cBuf, ptr, 110); // hello world
    mid(cBuf, ptr, 3, 6); // wor
    right(cBuf, ptr, 5); // world
    

      

      

      

      

      

  • 相关阅读:
    【lc-database】595. 大的国家
    Visual Studio 2010软件安装教程
    Win10系统下安装VC6.0教程
    HTTP协议
    正则表达式
    类装饰器
    装饰器工厂函数
    装饰器函数
    闭包
    web服务器
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/4554460.html
Copyright © 2011-2022 走看看