将字符串串联转换为大写,例如AliyaZafar
convert the strings into uppercase in concatenation e.g AliyaZafar
我已经正确地编写了我的代码,它运行良好,但我想将两个字符串的第一个字母转换为大写,我不知道如何做到这一点。我已经尽力了,但找不到任何帮助。帮我
void convertToUppercase (char *);
main()
{
char firstString[50];
char secString[50];
char uppercaseFirstString[50];
char uppercasesecString[50];
char concatString[100];
cout<<"Enter String 1 : ";
cin>>firstString;
cout<<"Enter String 2 : ";
cin>>secString;
cout<<"nn";
cout<<"The Length Of String "<<firstString <<" is : "<<strlen(firstString);
cout<<"n";
cout<<"The Length Of String "<<secString <<" is : "<<strlen(secString);
strcpy(uppercaseFirstString,firstString );
strcpy(uppercasesecString,secString);
convertToUppercase(uppercaseFirstString);
convertToUppercase(uppercasesecString);
cout<<"nn";
cout<<"String 1 in upper case : "<<" "<<uppercaseFirstString<<"n";
cout<<"String 2 in upper case : "<<" "<<uppercasesecString<<"n";
cout<<"nn";
if(strcmp(uppercaseFirstString,uppercasesecString)==0)
{
cout<<"Both Strings are the Same n";
}
else
{
cout<<"Both Strings are Different n";
}
strcpy(concatString,firstString);
strcat(concatString,secString);
cout<<"nn";
cout<<"Both Strings after Concatenation : " <<concatString;
return 0;
}
void convertToUppercase (char *sptr)
{
while ( *sptr > ' ' )
{
if (islower(*sptr) )
*sptr = toupper ( *sptr );
++ sptr;
}
}
一个简单的方法可以看起来像
#include <iostream>
#include <cstring>
#include <cctype>
int main()
{
char firstString[50] = "aliya";
char secString[50] = "zafar";
char concatString[100];
std::strcpy( concatString, firstString );
concatString[0] = std::toupper( ( unsigned char )concatString[0] );
size_t n = std::strlen( concatString );
std::strcat( concatString, secString );
concatString[n] = std::toupper( ( unsigned char )concatString[n] );
std::cout << """ << concatString << """ << std::endl;
}
程序输出为
"AliyaZafar"
进行以下两项更改:
1) 在convertToUppercase
方法中,据我所知,您正在尝试将字符串的第一个字母转换为大写。在这种情况下,您不需要while循环。
用if
:替换while
语句
if ( *sptr > ' ' )
2) 当您尝试连接时,您没有使用大写转换字符串(而是使用来自用户的相同输入firstString
和secondString
)。
将其替换为大写字符串,如下所示:
strcpy(concatString,uppercaseFirstString);
strcat(concatString,uppercasesecString);
相关文章:
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 将数字转换为字母(例如:123 转换为一二三)
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 如何计算数据类型的范围,例如int
- 这是否符合C++标准:双响双响,例如!!(-0.0).
- 如何将CMSampleBufferRef/CIImage/UIImage转换为像素,例如uint8_t[]
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何使用文件中的文本,例如变量
- 输入值后,如何在一个括号下显示值,例如"{6,7,8,9}
- 给定一个类型,如何派生一个泛型更广泛的类型(例如,用于溢出安全求和)?
- 初学者问题:如何使用这些晦涩难懂的命令,例如C++中的'RenderWindow'
- C++:将值 int(例如:0x00AAFAD8)转换为指针(指针本身也是 0x00AAFAD8 值)
- 具有多种约束(例如重量、体积等)的背包
- 较高值 n 的分割错误(例如 n=999997)
- 我正在尝试制作一个程序,在添加 n 天(整数)后告诉一个人什么是一天(例如星期一等)
- 在标准中,模板参数的语法在哪里定义,例如,'std::function<int(char)>'?
- 从/到 UTF-8/UTF-16 的转换需要(例如:utf8 -> 代码点,然后代码点到 utf16)或(例如:utf8 -> utf16)?
- 计算车辆之间的距离并设置速度,使距离保持不变,例如 5 米
- 将字符串串联转换为大写,例如AliyaZafar