| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1265 人关注过本帖
标题:怎样用 c 把大写数字变成小写数字?
只看楼主 加入收藏
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
主要是没接触过啊。
说说原理也行啊。目前只见过输出中文的,没见过读取,存储,处理中文的。

代码测试环境:  WinXP+C-Free5.0.
2014-09-02 18:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
中文字符就是一个16位整数,ASCII字符是一个8位整数,对一个整数的处理是一样的。

授人以渔,不授人以鱼。
2014-09-02 18:17
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
哦。受教了。后天回家试试。

代码测试环境:  WinXP+C-Free5.0.
2014-09-02 18:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这是使用宽字符版本的代码:
程序代码:
#include <clocale>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <conio.h>

const wchar_t* NumberList = L"零一二三四五六七八九";

int ChineseToInteger(const wchar_t* str, const wchar_t* const numList);

int wmain(void)
{
    const wchar_t* str1 = L"一四零零六";
    const wchar_t* str2 = L"二五七";
   
    _wsetlocale(LC_ALL, L"chs");

    wprintf_s(L"%s -> %d\n", str1, ChineseToInteger(str1, NumberList));
    wprintf_s(L"%s -> %d\n", str2, ChineseToInteger(str2, NumberList));

    wprintf_s(L"\nPress any key to continue...");
    _getwch();
    return EXIT_SUCCESS;
}

int ChineseToInteger(const wchar_t* str, const wchar_t* const numList)
{
    int ret_value = 0;
    for (int counter = 0; *str != L'\0'; ++str, ++counter)
    {
        ret_value = ret_value * 10 + wcschr(NumberList, *str) - NumberList;
    }
    return ret_value;
}



授人以渔,不授人以鱼。
2014-09-03 10:05
zy1548961741
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-7-9
收藏
得分:0 
回复 7楼 TonyDeng
用代码
char a;
int b;
b=‘a’;
cout《《b;
2017-07-09 22:57
快速回复:怎样用 c 把大写数字变成小写数字?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032430 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved