相关疑难解决方法(0)

C++中不区分大小写的字符串比较

在不将字符串转换为全部大写或全部小写的情况下,在C++中进行不区分大小写的字符串比较的最佳方法是什么?

请说明这些方法是否符合Unicode,以及它们的可移植性.

c++ string

373
推荐指数
20
解决办法
45万
查看次数

C或C++.如何比较给出char*指针的两个字符串?

我正在以两种方式对我的汽车阵列进行排序.一年一年,如下所示.和另一个由make.Make是一个char*如果我只是指向它们,我如何比较字符串?

int i, j;
for(i=0; i<100; i++){
    for(j=0; j<100-i; j++){
        if(carArray[i]!=NULL && carArray[j]!= NULL && carArray[j+1]!=NULL){
            if(carArray[i]->year > carArray[j+1]->year){
                swap(carArray[j], carArray[j+1]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上述方法适用于int(年).如何使它适用于char指针?

c c++ sorting pointers

9
推荐指数
2
解决办法
4万
查看次数

C99删除stricmp()和strnicmp()?

在功能stricmp()strnicmp()在C99去除?当我尝试针对C99编译时,我总是得到警告隐式声明函数stricmp()(以及strnicmp()).例如,下面的简单代码让我发出警告.

#include<string.h>
#include<stdio.h>

char arr[100]="hello";
char arr2[100]="hEllo";

int main()
{
   int n=-1;
   printf("%d\n",n);
   n=strnicmp(arr,arr2,3);   // the same when use the function stricmp();
   printf("%d\n",n);

   getchar();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试针对C99(gcc -Wall -std=c99 main.c -o main)编译这段代码时,我收到了警告.但是当我没有编译它时-std=c99,不会抛出任何警告.但是,即使存在隐式声明的警告,我的代码仍然正常.

这是为什么?那是一个错误吗?如果不是一个错误,那么C99的变化究竟发生了什么?

c string c99

3
推荐指数
2
解决办法
5653
查看次数

标签 统计

c ×2

c++ ×2

string ×2

c99 ×1

pointers ×1

sorting ×1