由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请帮忙看看这个字符函数的错误在哪里
相关主题
请问strcpy()和memcpy()的写法问题  (转载)诚心请教一个linux c问题
C pass string 问题c里全局数组的再次赋值问题
请教一道c/c++题strlen怎么实现的
帮忙看看这几段程序有问题吗?weird output
c的问题free(char *)的问题 (转载)
请问以下代码有什么错误?New C++ programmer, need to ask a I/O file read question
A string replacement problem from leetcode关于 exception 的一个问题
Array in Cstrcat()
相关话题的讨论汇总
话题: len1话题: p1话题: null话题: csz1话题: char
进入Programming版参与讨论
1 (共1页)
w*********r
发帖数: 18
1
int strcmpi (const char* csz1, const char* csz2)
{
int retval=0;
char *p1=NULL, *p2=NULL;

if((csz1 !=NULL) && (csz2 !=NULL))
{ int len1=0, len2=0;
len1=strlen(csz1);
len2=strlen(csz2);
if (len1>0) {
p1= new char [len1+1];
memset(p1,0,len1+1);
strcpy(p1, csz1);
for (int i=0;i p1[i]=toupper (p1[i]);
}
}
d***y
发帖数: 65
2
works fine with gcc 4.1

【在 w*********r 的大作中提到】
: int strcmpi (const char* csz1, const char* csz2)
: {
: int retval=0;
: char *p1=NULL, *p2=NULL;
:
: if((csz1 !=NULL) && (csz2 !=NULL))
: { int len1=0, len2=0;
: len1=strlen(csz1);
: len2=strlen(csz2);
: if (len1>0) {

w*********r
发帖数: 18
3
这是一个面试题,说此函数poorly written,要求找出what's wrong with it并且改写。
我觉得最大问题可能就是边界,但是运行也没发现问题.

【在 d***y 的大作中提到】
: works fine with gcc 4.1
p**********g
发帖数: 9558
4
直接比较,不用分配内存吧
d***y
发帖数: 65
5
Maybe you can make it char by char..

写。

【在 w*********r 的大作中提到】
: 这是一个面试题,说此函数poorly written,要求找出what's wrong with it并且改写。
: 我觉得最大问题可能就是边界,但是运行也没发现问题.

s*******d
发帖数: 59
6
new抛出异常就会有内存泄露了
c++又没有try finally,对异常很不友好。
A***o
发帖数: 12
7
是啊,这么一个简单的字符串比较,为什么还分配内存,字符串拷贝?

【在 p**********g 的大作中提到】
: 直接比较,不用分配内存吧
A***o
发帖数: 12
8
而且不知道面试者是否也想看你如何比较,而不是直接调用strcmp吧。

【在 w*********r 的大作中提到】
: int strcmpi (const char* csz1, const char* csz2)
: {
: int retval=0;
: char *p1=NULL, *p2=NULL;
:
: if((csz1 !=NULL) && (csz2 !=NULL))
: { int len1=0, len2=0;
: len1=strlen(csz1);
: len2=strlen(csz2);
: if (len1>0) {

1 (共1页)
进入Programming版参与讨论
相关主题
strcat()c的问题
为什么这个小程序错了?请问以下代码有什么错误?
Weird! string length problem.A string replacement problem from leetcode
怎么判断int a[]的array的实际长度?Array in C
请问strcpy()和memcpy()的写法问题  (转载)诚心请教一个linux c问题
C pass string 问题c里全局数组的再次赋值问题
请教一道c/c++题strlen怎么实现的
帮忙看看这几段程序有问题吗?weird output
相关话题的讨论汇总
话题: len1话题: p1话题: null话题: csz1话题: char