如何大写第一个字母

How to upper-case first letter

本文关键字:第一个 何大写      更新时间:2023-10-16

如何编写一个C程序,读取您的名字和姓氏,然后将它们转换为大写和小写字母。。。我知道大写字母和小写字母的用法,但不知道名字和姓氏的用法。。有什么建议吗?。。。

#include<iostream>
#include<string.h>
using namespace std;
int i;
char s[255];
int main()
{
    cin.get(s,255,'n');
    int l=strlen(s);
    for(i=0;i<l;i++)
......................................

cout<<s; cin.get();
    cin.get();
    return 0;
}

您可以将名字和姓氏直接读取到std::string的s中。没有理由自己管理缓冲区,也没有理由猜测缓冲区的大小

std::string first, last;
//  Read in the first and last name.
std::cin >> first >> last;

您需要根据自己的要求将字符串转换为大写/小写。这可以使用C++标准库中提供的std::toupperstd::tolower来完成。只要包括<cctype>,它们就可用。有几种方法可以做到这一点,但一种简单的方法是将整个字符串转换为小写,然后将第一个字符转换为大写。

// set all characters to lowercase
std::transform(str.begin(), str.end(), str.begin(), std::tolower);
//  Set the first character to upper case.
str[0] = static_cast<std::string::value_type>(toupper(str[0]));

把这些放在一起,你会得到一个看起来有点像的东西

#include <iostream>
#include <string>
#include <cctype>
void capitalize(std::string& str)
{
    //  only convert if the string is not empty
    if (str.size())
    {
        // set all characters to lowercase
        std::transform(str.begin(), str.end(), str.begin(), std::tolower);
        //  Set the first character to upper case.
        str[0] = static_cast<std::string::value_type>(toupper(str[0]));
    }
}
int main()
{
    std::string first, last;
    //  Read in the first and last name.
    std::cin >> first >> last;
    //  let's capialize them.
    capitalize(first);
    capitalize(last);
    //  Send them to the console!
    std::cout << first << " " << last << std::endl;
}

注意:包含像using namespace std;这样的语句被认为是不好的形式,因为它将std命名空间中的所有内容都拉入当前范围。尽量避免。如果你的教授/老师/导师使用它,他们应该受到惩罚,并被迫观看电影《黑客》,直到时间结束。

由于您使用的是C++,因此应该使用std::string而不是char数组,而getline()正是您想要的。

#include <iostream>
#include <string>
int main()
{
    std::string first, last;
    while (std::getline(cin, first, ' '))
    {
         std::getline(cin, last);
         //Convert to upper, lower, whatever
    }
}

如果每次运行只想得到一组输入,那么可以省略循环。getline()的第三个参数是一个分隔符,它将告诉函数在到达该字符时停止读取。默认情况下,它是n,因此如果您想阅读该行的其余部分,则不需要包含它。

相关文章: