从字符串中提取子字符串

#include <assert.h>
int substr(char dst[], char src[], int start, int len)
{
 int srcLen = strlen(src);
 int left = 0;
 assert(dst);
 assert(src);
 if (srcLen < start)
 {
  return -1;
 }
 while (start--)  
 {
  src++;             //指针向后偏移start
 }
 left = srcLen - start;
 if (left < len)
 {
  len = left;
 }
 int ret = len;
 while (len--)
 {
  *dst++ = *src++;
 }
 *dst = ‘\0‘;
 return ret;
}
int main()
{
 char dest[10];
 char *p = "bit-tech";
 substr(dest, p, 4, 4);
 printf("%s\n", dest);
 return 0;
}
时间: 2024-08-25 20:53:36

从字符串中提取子字符串的相关文章

在一个字符串中提取子字符串

一.提取字符串函数int substr(char dst[], char src[], int start, int len): 分析: 源字符串src[]用来提供字符串: 目的字符串dst[]用来接收子字符串: 从src[]的起始位置向后偏移,从start的位置开始最多复制len个字符,当src[]中字符数可以从start个字符开始复制len个字符,那么可以复制len个字符:当从start开始到字符串结束,即遇到'\0'时,小于len个字符,那么只需复制从start开始到字符串结束的字符串.

在父字符串中查找子字符串

在父字符串中查找子字符串(指针控制,也可选择标控制) #pragma once #include<iostream> #include<assert.h> using namespace std; char* StrStr(char* source, char* dest) { assert(source&&dest); if (strlen(source) < strlen(dest)) return NULL; char* newSrc = NULL; c

NSString从父字符串提取子字符串

NSString除了创建, 对比等等方法, 它还可以在父字符串中提取一段字符形成一个新的子字符串. 使用的方法一共有三种: substringToIndex:如果我在这方法的后面输入一个6, 意思就是截取从第一到第六个的字符, 并形成一个新的子字符串, 类似于开区间, (0 <= a > 6) substringFromIndex:如果我在这方法的后面输入一个5, 意思就是截取从第五到最后一个的字符串, 并形成一个新的子字符串, 类似于闭区间, (5 <= a >=x) subst

40 python 正则表达式 match方法匹配字符串 使用search函数在一个字符串中查找子字

第一课: 使用match方法匹配字符串 # 正则表达式:使用match方法匹配字符串 ''' 正则表达式:是用来处理文本的,将一组类似的字符串进行抽象,形成的文本模式字符串 windows dir *.txt file1.txt file2.txt abc.txt test.doc a-file1.txt-b linux/mac ls 主要是学会正则表达式的5方面的方法 1. match:检测字符串是否匹配正则表达式 2. search:在一个长的字符串中搜索匹配正则表达式的子字符串 3. fi

【C语言】 提取子字符串

编写一个函数,它从一个字符串中提取一个子字符串.函数原型如下: int substr(char dst[], char src[],int start, int len) {} 目标是:从 src 数组起始位置向后偏移 start个字符的位置开始,最多复制  len 个非NUL字符到 dst数组.在复制完毕之后,dst 数组必须以NUL字节结尾. 函数的返回值是存储于 dst 数组中的字符串的长度. 代码实现: #include <stdio.h> #include <assert.h&

从一个字符串中提取一个子字符串

编写一个函数,它从一个字符串中提取一个子字符串.函数原型如下: int substr(char dst[], char src[],int start, int len) {} 目标是:从 src 数组起始位置向后偏移 start个字符的位置开始,最多复制 len 个非NUL 字符到 dst数组.在复制完毕之后, dst 数组必须以 NUL字节结尾.函数的返回值是存储于 dst 数组中的字符串的长度. #include<stdio.h> #include<stdlib.h> #de

从字符串中提取数字串并排序(C语言实现)

#include "stdio.h" #include "stdlib.h" #include "string.h" typedef int BOOL; #define TRUE 1; #define FALSE 0; static void SplitBySeparator( char **arr, char *str, int size, char sep); void SortNums ( char* str, int size, int

java从字符串中提取数字

1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只需要直接进入该页面然后直接找到第一条或者最后一条数据即可. 2.例子: 界面: javs代码: /** * java从字符串中提取数字 * str:传递过来的字符串 */ public static List<String> getNUm(String str){ str.trim(); //St

[编程题] 扫描透镜(本题还涉及如何从字符串中提取数字)

在N*M的草地上,提莫种了K个蘑菇,蘑菇爆炸的威力极大,兰博不想贸然去闯,而且蘑菇是隐形的.只 有一种叫做扫描透镜的物品可以扫描出隐形的蘑菇,于是他回了一趟战争学院,买了2个扫描透镜,一个 扫描透镜可以扫描出(3*3)方格中所有的蘑菇,然后兰博就可以清理掉一些隐形的蘑菇. 问:兰博最多可以清理多少个蘑菇? 输入描述: 第一行三个整数:N,M,K,(1≤N,M≤20,K≤100),N,M代表了草地的大小; 接下来K行,每行两个整数x,y(1≤x≤N,1≤y≤M).代表(x,y)处提莫种了一个蘑菇.