C++ 根据特殊字符串截取字符串

比如有一个字符串是aaaaaa/nbbbbbbb/ncccccccccc/nddddddd/n/n,我需要按照"/n"去截取这个字符串并保存在数组中,最终获取到的是a[0]=aaaaaa,a[1]=bbbbbb,a[2]=ccccccc,a[3]=ddddddd;

第1个回答  2013-08-07
用CString类的find成员函数找到/n的位置,然后再用CString类的Left等成员函数截取就可以了
第2个回答  2013-08-07
可以用strtok函数实现
char sentence[]="aaaaaa/nbbbbbbb/ncccccccccc/nddddddd/n/n";
char *tokenPtr=strtok(sentence,"\n");
int i=0;
while(tokenPtr!=NULL)
{
strcpy(a[i++],tokenPtr);
tokenPtr=strtok(NULL," ");
}
这是最原始的字符串操作函数的解法,
当然还可以用string类或者CString类来实现。本回答被网友采纳
第3个回答  2013-08-07

已经调好:

#include <stdio.h>
#include <stdlib.h>

int main()
{
char res[]="aaaaaa\nbbbbbbb\ncccccccccc\nddddddd\n\n";
char a[10][100];
char *p=res, *q=a[0];
int i=0,m;
while (*p)
{
if (*p!='\n')
*q++=*p++;
else
{
*q='\0';
i++;
q=a[i];
p++;
}
}
*q='\0';
m=i;
for (i=0;i<=m;i++)
printf("%s\n",a[i]);
system("pause");
return 0;
}

把res字符串中的字符以'\n'分割,存到a里了。a[0]是字符串aaaaaa,a[1]是字符串bbbbb,以此类推。

C++ 根据特殊字符串截取字符串
用CString类的find成员函数找到\/n的位置,然后再用CString类的Left等成员函数截取就可以了

c++字符数组两个特定字符之间的字符怎么截取
c++字符数组两个特定字符之间的字符截取过程为:采用循环遍历字符数组,先找到第一个字符的位置 从该位置的下一个位置开始,将字符写到新的子串中,直到遇到第二个字符或字符串结束符,结束循环 置子字符串结束符 输出新的子字符串 参考代码:include <stdio.h>void substring( char *s, char ch1, ...

C++string中怎样从字符串里截取出字符
std::string str2 = str.substr(1, 2); \/\/取str第1个字符开始的2个字符, str2==“bc”

C++ 截取字符串,抓某特定字符后的字段。
include<string.h>#include<iostream.h>int mysubstr(const char *str, const char* str0, char str1[]){str1[0] = 0;char* strp = strstr(str, str0);if (strp == NULL){return 0;}strcpy(str1, strp + strlen(str0));}int main(){char* p = "fdsafdsa a:121321321321312321"...

请教c\/c++截取字符串的问题
根据完整连接字符串通过关键部分符号来截取相应的字符串啊 比如偏移6个字符后就是用户名的字符串地址,截取直到:的部分 然后截取:到@的部分 密码 截取@到:的部分 IP 剩下的部分为端口号

在c++里怎样从字符串中提取出字符
include <string> include <stdio.h> main(){ int l=strlen(s);char ch;for(int i=0;i<l;i++){ if(strcmp(s[i],"a"))ch=s[i]} printf("%c",ch);}

C++中截取字符串的方法有哪些
纯C++可以使用 substr string a = "01234567";string b = a.substr(2, 6);

C++截取一个指定字符前面的字符串
cout<<"输入一个字符串:";cin.getline(a,50);cout<<"输入指定字符及它是第几个:";cin>>c>>p;p=cmp(a,c,p);cout<<"截得的字符串为:\\n";for(int i=0;i<p;i++)cout<<a[i];cout<<endl;} 注意:输入的字符串不可超过char a[50],c;语句中指定的长度50,如果想输入更长的...

C++如何截取字符串中从a位置到b位置
方法1:\/\/...为了说明情况,假如有b>a>0,字符串str[]长度大于bchar *p;p = &str[a];*(p+(&str[b]-&str[a] + 1) = '\\0'; \/\/截取到指针p方法2:\/\/...为了说明情况,假如有N>b>a>0,字符串str[]长度大于bchar dest[N];char *p;int i;p=dest;for(i=a;i<=b;i++,...

C++字符串截取
可以用substr这个方法,有两个输入参数分别为起始地址和截取的长度。s2 = s1.substr(0,3);s3 = s1.substr(4,3);如果写的更通用一点,就是先查找“+”的位置,然后在分隔。size_t iPos = s.find("+");s2 = s1.substr(0, iPos);s3 = s1.substr(iPos+1, s1.length()-iPos-1);

相似回答