在VC中怎么删除字符串中的某个字符阿?

来源:百度知道 编辑:UC知道 时间:2024/07/02 15:05:24
例如字符串“asdfg”中要删除d字符,怎么办?

VC中字符串是用字符数组来存放的,所以可以像数组使用那样删除其中的某一位元素,具体做法是:
如果这样定义一个字符串:
string a = "asdfg" 就相当于定义了一个字符数组 char a[5]="asdfg"
如果要删除"d"那么就把d后面的字符向前移动一位,这道题中d=a[2]
所以
for(i=3;i<5;i++)
{
a[i-1]=a[i];
}
a[4]='\0';
这样就删除了d

str是要被处理的字符串,pos是要被除去的字符在字符串中的位置。函数返回后,str里面是去掉要除去字符后的字符串。

void func(char * str, size_t pos)
{
char * str2 = str + pos + 1;
str[pos] = '\0';
strcat(str, str2);
}

加条判断的语句,在输出的前面如;if(getch() == 'd') return 0.或者跳出循环。就是不输出了。