黑马程序员技术交流社区

标题: 如何将字符串数组分割 [打印本页]

作者: 愿我能    时间: 2014-4-16 15:17
标题: 如何将字符串数组分割
想把一个由空格和字母构成的字符串利用空格分割并赋值到一个新的数组中,其实是为了单独比较各个单词的长度,这里知道要用strtok方法,可是自己总是用不好,谁能提供下一个好的方法,将由字母和空格字符串分割,
主要是这一步

作者: 微尘•逐梦    时间: 2014-4-16 17:38
NSString的这个对象方法- (NSArray *)componentsSeparatedByString:(NSString *)separator;可以分割字符串内容
  1. NSString *content = @"abc def";
  2. NSArray *array = [content componentsSeparatedByString:@" "];//用空格分割字符串
复制代码

作者: Dmajor    时间: 2014-4-16 17:52
  1. #include <stdio.h>
  2. #include <string.h>

  3. int total_days(int y,int m,int d);
  4. int main()
  5. {
  6. int i,len = 0,maxlen = 0;
  7.         char *p,*pt,s[1024],subs[100];
  8.         printf("请输入字符串: ");
  9.         gets(s);
  10.         for(pt = s;*pt != '\0';pt++)          //遍历字符串;
  11.         {
  12.                 if((*pt != ' ') &&(*pt != '\0'))   //找出空格位;
  13.                         len++;
  14.                 else if(len>maxlen)
  15.                 {
  16.                         maxlen=len;
  17.                         p = pt - len;
  18.                         len=0;
  19.                 }       
  20.         }
  21.                 for(i = 0;i < maxlen;i++)
  22.                 subs[i] = *(p + i);
  23.         subs[maxlen] = '\0';
  24.         printf("长英文词:%s,\n",subs);
  25.         return 0;
  26. }

复制代码


作者: 杨晓斌    时间: 2014-4-17 21:58
#include<stdio.h>
#include<string>
void main(){
        char s[100];
        char *str;

        char *slong;
        int n=0;

        gets(s);
       
        str=strtok(s," ");
        while(str!=NULL){
                if(strlen(str)>n){
                        n=strlen(str);
                        slong=str;
                }
                str=strtok(NULL," ");
        }
        printf("最长的单词是%s",slong);

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2