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了。

这样,你直接用
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><