C++ substr

发布网友 发布时间:2022-04-26 07:13

我来回答

3个回答

热心网友 时间:2022-06-25 03:25

本题的一个完整的程序如下,程序在win-tc和Dev-c++下都调试通过。大小写元音字母都去掉了。
#include <stdio.h>
#include <stdlib.h>
#define N 81
char str[N];

void substr(char s[])
{
int i,j;
for(i=0,j=0;s[i];i++)
if(s[i]!='a'&&s[i]!='A'&&s[i]!='e'&&s[i]!='E'&&s[i]!='i'&&s[i]!='I'&&s[i]!='o'&&s[i]!='O'&&s[i]!='u'&&s[i]!='U')
str[j++]=s[i];
str[j]='\0';
}

int main()
{int i;
char s[N];
printf("Please input a word:\n");
gets(s);
substr(s);
printf("The result after delete is:\n");
printf("%s\n",str);
system("pause");
return 0;
}

热心网友 时间:2022-06-25 03:25

  substr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。
  定义和用法basic_string::substr
  basic_string substr(size_type _Off = 0,size_type _Count = npos) const;
  参数
  _Off:所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0
  _Count:复制的字符数目
  返回值:一个子字符串,从其指定的位置开始

  备注
  如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。
  
  例子
  #include<string>
#include<iostream>
using namespace std;
 main()
{
string s("12345asdf");
string a=s.substr(0,5); //获得字符串s中 从第0位开始的长度为5的字符串
//默认时的长度为从开始位置到尾
cout<<a<<endl;
}
 输出结果为:
 12345

热心网友 时间:2022-06-25 03:26

#include <stdio.h>
#include <string.h>

char* substr(char* bpBuf){
int iInput,iOutput;
int iLenInput = strlen(bpBuf);
for(iInput=0,iOutput=0;iInput<iLenInput;iInput++,iOutput++){
switch(bpBuf[iInput]){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
iOutput--;
break;
default:
bpBuf[iOutput] = bpBuf[iInput];
}
}
bpBuf[iOutput] = 0;
return bpBuf;
}

/*例子*/
int main(int argc,char** argv){
char bzBuffer[4096];
scanf("%s",bzBuffer);
substr(bzBuffer);
printf(bzBuffer);
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com