第1个回答 推荐于2016-06-08
1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,’aa’)=’11aa’;
2. 求子串。 Copy(s,I,L) 从字符串s中截取第I个字符开始后的长度为L的子串。
例:copy(‘abdag’,2,3)=’bda’
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
先找到的资料,根据这个再给你找C
1.strcat
语法:
#include <string.h>
char *strcat( char *str1, const char *str2 );
功能:函数将字符串str2 连接到str1的末端,并返回指针str1. 例如:
printf( "Enter your name: " );
scanf( "%s", name );
title = strcat( name, " the Great" );
printf( "Hello, %s\n", title );
2.strncpy
语法:
#include <string.h>
char *strncpy( char *to, const char *from, size_t count );
功能:将字符串from 中至多count个字符复制到字符串to中。如果字符串from 的长度小于count,其余部分用'\0'填补。返回处理完成的字符串。
比如pascal中的 s = copy(‘abdag’,2,3)
c中可以 d="abdag";strncpy(s,d+1,3);来做
注意c中的字符串位置以0开始.
3.这个没有现成的,c++中可以用 replace来做
c中可以自己写一个函数
void delete(char* s,int from,int length){
int i;
if(length<1 || strlen(s)<from)return;
for(i=from-1;s[i]&&i<from+length;i++)s[i]=s[i+length];
s[i]=0;
}
用法一样 delete(s,2,2);
其实你说的所有函数都可以一模一样的实现,稍微动点脑筋.本回答被提问者采纳