自动转换为大写

时间:2012-09-19 13:50:49

标签: c character

我是C编程的新手,我遇到了问题。这是我的问题:我想使用函数' toupper ',这样当我们输入一个字母时,它会自动变为大写。我想在输入时将字母大写,而不是在输出中显示。

因此,当我们运行程序时它就像这样:

选择一个字母(A/B/C) : a (当我们输入a时,它会自动变为A.此评论下的示例。)

选择一个字母(A/B/C) : A(自动大写)

这是A (输出)

这是我目前的代码:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
    char a;

    printf("(A/B/C): ");
    scanf("%c", &a);

    printf("%c", a);

}

提前致谢:D ...  我真的需要你的帮助

2 个答案:

答案 0 :(得分:2)

由于您已经在使用conio.h,因此可以使用getch()函数。但请注意,conio.h是非标准的C,也是相当陈旧和过时的。

#include <stdio.h>
#include <ctype.h>
#include <conio.h>

int main()
{
    char ch;

    printf("(A/B/C): ");
    do
    {
      ch = getch();
      ch = toupper(ch);
      printf("%c", ch);
    } while(ch != '\n');

    getchar();
}

答案 1 :(得分:-1)

printf("%c", islower(a) ? toupper(a) : a );

额外:stty olcuc适用于unix。