VC++分离和保存字符串???
来源:百度知道 编辑:UC知道 时间:2024/05/23 19:34:26
要求输入:ab c de f(回车) 以其中各空格为界分离出各字串保存到一个指针数组中:char *p[20]
当然输入只是个样例,要允许输入不同比如:
a b cd ef ghij mms k kwlkjf
把所有分全给了谢大家了先!!!
string,stl算法什么都行就是别用C了。
当然输入只是个样例,要允许输入不同比如:
a b cd ef ghij mms k kwlkjf
把所有分全给了谢大家了先!!!
string,stl算法什么都行就是别用C了。
这样,你直接用
mychar = getchar();
if ( mychar = ' ' )
//开始分隔
else
//继续保存
当然感觉这种方法特别不好,还是用String比较的方便,不过你即使题上要求这样做。。。
反正我一般操作字符的方法便是以上,不知道楼下有什么好方法没,期待!!
补充:
在VC6.0下编译通过。你先定义一个String型的数组,
String myStr [ MAX ];
for ( int i = 0; i < MAX; i ++ )
cin>>myStr [ i ] ;
由于cin是以空格作为分隔的,所以完整的程序可以这样写:
#include<iostream>
#include<string>
#define MAX 5
using namespace std;
int main()
{
string myStr [ MAX ];
for ( int i = 0; i < MAX; i ++ )
{
cin>>myStr[ i ];
if ( getchar() == '\n' )
break;
}
for ( int j = 0; j <= i; j ++ )
{
cout<<myStr[ j ]<<endl;
}
return 0;
}
试了半天,终于成功了!!
这个小程序应该能满足你的需要吧。
注意:输入的最大字符串个数还是有限制的!不过字符串的长度的话,由于采用了string这个类,所以长度还是可以令人放心的。
我没什么好方法..
#include <stdio.h>
#include <string.h><