c++ - C 或 C++。如何比较给定 char * 指针的两个字符串?

标签 c++ c sorting pointers

我正在以两种方式对我的汽车阵列进行排序。如下所示。和另一个制造商。 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]);
            }
        }
    }
}

上述方法适用于 int 的(年)。我怎样才能使它适用于字符指针?

最佳答案

在几乎任何一种情况下,方式都是调用 strcmp .如果你的字符串(出于某种奇怪的原因)没有以 NUL 结尾,你应该使用 strncmp相反。

但是,在 C++ 中,如果可以合理避免的话,您真的不应该在 char 数组中操作字符串。使用 std::string相反。

关于c++ - C 或 C++。如何比较给定 char * 指针的两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330350/

相关文章:

c++ - 如何在C++中使用new分配内存字节数

c++ - OpenGL 程序适用于 AMD 但不适用于 NVIDIA

c++ - 如何将多个参数传递给 pcap_loop()/pcap_handler()?

c - 如何将值分配给指针?

c - pt_regs 和 user_struct_regs 的区别

Android 链接 .so 用于命令行可执行文件?

javascript - 排序对象数组适用于数字但不适用于字符串

sorting - SOLR - 没有任何默认排序的搜索结果

c++ - 我的 C++ DLL 无法编译,除非我第一次打开项目(在 Netbeans 中)

Python根据文件数据的两个字段进行排序