博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

帅得不敢出门

热爱c++ 博客文章多为转载(帖子后面有带原文链接的)以做收藏 若有误处 望多多赐教
   stupidpig.cublog.cn
关于作者  
姓名:帅得不敢出门
职业:学生
年龄:22
位置:福州
C++高手群:3503799
个性介绍:新博客路过也帮推荐下谢谢

我的分类  




c++有个考试的小问题
char* fun(char buf[], char lpb[])
{
   
}

如果我传给buf的值是"abcdefg", 传给lpb的值是"ef",要最后返回的值是"abcd",函数体怎么写啊?
哪位哥哥能帮帮我,可能考试会考的?


看懂了吗?就是截取"ef"之前的内容.
要是C++里有现成的函数也行
============================ 


#include <iostream>
#include <string.h>
using namespace std;

char* fun(char buf[], char lpb[]);
int main()
{
 
 char str1[] = "Borland International", str2[] = "nation";
 char *test = fun(str1, str2);
 if(NULL == test) return -1;
 cout << test;
 free(test);
 return 0;
}
char* fun(char buf[], char lpb[])
{
    char *ptr;
    ptr = strstr(buf, lpb);
 if(NULL == ptr)
 {
  cout << "notfond " << lpb;//这里要看你怎么取舍了 如果没找到则返回整个

//串也行  只是看题目要求
  return NULL;
 }
    
   int iLen = (int)(ptr-buf);
 char *p;
    p = (char *)malloc(sizeof(char)*(iLen+1));
 strncpy(p, buf, iLen);
 p[iLen] = '\0';
 return p;
}

 原文地址 http://topic.csdn.net/u/20080515/13/6ea9404b-c2ab-44b2-8d0c-7e85e0ce4946.html?seed=612284991
 发表于: 2008-05-15,修改于: 2008-05-15 15:30 已浏览131次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.66567

京ICP证041476号