在没有cstring的情况下,C++中的字符数组和字符串文字可以通过以下方式进行比较:
char str1[] = {'H', 'e', 'l', 'l', 'o', '\0'};
char* str2 = "Hello";
在C++中,可以使用strcmp
函数来比较两个字符串。strcmp
函数的原型如下:
int strcmp(const char* str1, const char* str2);
该函数接受两个字符串作为参数,并返回一个整数,表示两个字符串之间的关系。如果两个字符串相等,则返回0;如果第一个字符串小于第二个字符串,则返回负数;如果第一个字符串大于第二个字符串,则返回正数。
在没有cstring的情况下,可以使用以下方法来比较字符数组和字符串文字:
#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
函数中,使用该函数比较字符数组和字符串文字,并输出比较结果。
领取专属 10元无门槛券
手把手带您无忧上云