首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在没有cstring的情况下比较C++中的字符数组和字符串文字

在没有cstring的情况下,C++中的字符数组和字符串文字可以通过以下方式进行比较:

  1. 字符数组:字符数组是一个由字符组成的数组,其最后一个元素是空字符'\0'。例如:
代码语言:txt
复制
char str1[] = {'H', 'e', 'l', 'l', 'o', '\0'};
  1. 字符串文字:字符串文字是一个由双引号括起来的字符序列,其最后一个字符也是空字符'\0'。例如:
代码语言:txt
复制
char* str2 = "Hello";

在C++中,可以使用strcmp函数来比较两个字符串。strcmp函数的原型如下:

代码语言:txt
复制
int strcmp(const char* str1, const char* str2);

该函数接受两个字符串作为参数,并返回一个整数,表示两个字符串之间的关系。如果两个字符串相等,则返回0;如果第一个字符串小于第二个字符串,则返回负数;如果第一个字符串大于第二个字符串,则返回正数。

在没有cstring的情况下,可以使用以下方法来比较字符数组和字符串文字:

代码语言:txt
复制
#include<iostream>

int my_strcmp(const char* str1, const char* str2) {
    while (*str1 && *str2 && *str1 == *str2) {
        str1++;
        str2++;
    }
    return *str1 - *str2;
}

int main() {
    char str1[] = {'H', 'e', 'l', 'l', 'o', '\0'};
    char* str2 = "Hello";

    int result = my_strcmp(str1, str2);
    if (result == 0) {
        std::cout << "The two strings are equal."<< std::endl;
    } else if (result < 0) {
        std::cout << "The first string is less than the second string."<< std::endl;
    } else {
        std::cout << "The first string is greater than the second string."<< std::endl;
    }

    return 0;
}

该程序定义了一个my_strcmp函数,用于比较两个字符串。在main函数中,使用该函数比较字符数组和字符串文字,并输出比较结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券