avatar
yy
1
请问如果有一个string
是 "XXXX.txt"
请问如何得到一个新的string = "XXXX"
也就是是说, 能不能把keyword .txt 从 XXXX.txt 中
erase 掉, 当然, 如果哪个function 可以delete particular
substring from a string with (begin,end) also works.
Thanks
avatar
g*c
2
Basic String Handling Functions
All the string handling functions are prototyped in:
#include
The common functions are described below:
char *stpcpy (const char *dest,const char *src) -- Copy one string into
another.
int strcmp(const char *string1,const char *string2) - Compare string1 and
string2 to determine alphabetic order.
char *strcpy(const char *string1,const char *string2) -- Copy string2 to
stringl.
char *strerror(int errnum) -- Get error message corresponding to specified
er

【在 yy 的大作中提到】
: 请问如果有一个string
: 是 "XXXX.txt"
: 请问如何得到一个新的string = "XXXX"
: 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中
: erase 掉, 当然, 如果哪个function 可以delete particular
: substring from a string with (begin,end) also works.
: Thanks

avatar
p*o
3
or std::string::substr ;)
avatar
f*r
4
要使perl就很简单了
$string =~ s/(.*)\.txt$/$1/
c里好像也有一个regular expression的库函数
regex.h,不过似乎不太好用,你可以看看

【在 yy 的大作中提到】
: 请问如果有一个string
: 是 "XXXX.txt"
: 请问如何得到一个新的string = "XXXX"
: 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中
: erase 掉, 当然, 如果哪个function 可以delete particular
: substring from a string with (begin,end) also works.
: Thanks

avatar
f*r
5
写了个小程序,应该能做这个工作
但是可能还有些bug
在此炮砖引玉了
#include
#include
using namespace std;
int main()
{
string a="test.txt";
string key=".txt";
string::size_type pos=a.rfind(key);
if ( pos!=string::npos)
{
a.erase(pos);
}
cout<< a<return 0;
}

【在 yy 的大作中提到】
: 请问如果有一个string
: 是 "XXXX.txt"
: 请问如何得到一个新的string = "XXXX"
: 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中
: erase 掉, 当然, 如果哪个function 可以delete particular
: substring from a string with (begin,end) also works.
: Thanks

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。