本文目录
c++字符串截取
这个问题其实有两个注意点:
字符串的存储。 c/c++里面斜杠是转义符,因此所检阅的字符串中如何有“\”的话,比如是这样的格式: ***\\****\\*****\\**。 否则你应该按字节处理。
如果是c++,那么用类库就可以解决。下面的例子通过stringstream转储string,然后分割存储到vector中,最后数数vector的size,然后-1,就是原来字符串中‘\’的个数。
#include 《iostream》#include 《vector》#include 《string》#include 《sstream》using namespace std;int main(int argc, char** argv) { string str = "aaa\\bbb\\ccc\\ddd\\eee"; stringstream ss (str); char delim = ’\\’; string s; vector《string》 vstr; while (getline(ss, s, delim)) vstr.push_back (s); cout 《《 "The number of delim is " 《《 (vstr.size() 》 0 ? vstr.size() - 1 : 0) 《《 endl; return 0;}
运行:
The number of delim is 4
C++ 字符串 剪切
代码如下,仅供参考:#include《iostream》#include《string》using namespace std;char fun(char str,int m,int n){ int i,k; char *p; p=str; k=strlen(str); if(n》k-m+1) n=k-m+1; for(i=0;i《n;i++) cout《《*(p+m+i-1); cout《《endl; return ’\0’;}int main(){ int m,n; char str; cout《《"请输入字符串:"《《endl; cin.get (str,100); cout《《"请输入要剪切的起始位置和长度:"《《endl; cin》》m》》n; cout《《"剪切字符为:"《《endl; fun(str,m,n); return 0;}有不清楚的再联系我。
C++中截取字符串的方法有哪些
纯C++可以使用 substr string a = "01234567";string b = a.substr(2, 6);
C++函数字符串截取分割
#include 《stdio.h》#include 《string.h》 int main(){FILE *fp = fopen("1.txt", "r");char tmp = {"\0"};char ch = ’\0’; //%是从当前位置读到 , 为止。 while (fscanf(fp, "%c%", &ch, tmp) != EOF){if (ch == ’\n’){printf("\n");}else{printf("%s|", tmp);}strcpy(tmp, "");} return 0;}