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; }
|
阅读(1975) | 评论(0) | 转发(0) |