c语言,转换字符串c语言大小写字母转换的函数,出什么问题了

C语言写一函数将字符串大写字母转换成小写字母_百度知道
C语言写一函数将字符串大写字母转换成小写字母
void lscase(char *str){
gets(str); for(i=0;i&strlen(str);i++) { if((str[i]&=A)&&(str[i]&=Z)) str[i]-=32; } puts(str); }
其他类似问题
为您推荐:
n&scanf(&int cnt=0:%s&z') {str[i]+=32,Input);printf(&}}i++;;I && str&while(str[i]){if(str[i]&gt,i=0;a'='%s&quot:&#92,Input);UpCase(Input););='cnt++很久不用C了不知道对不对;;printf(&Result,希望能给你个思路int UpCase(char * str){if(str==NULL) return -1;}void main(){char Input[81]={0}
#include&iostream&void Change(char s[]){ for(i=0;s[i]!='\0';i++)
if(s[i]&='A'&&s[i]&='Z')//检查是否为大写字母
s[i]=s[i]-'A'+'a';//改为小写字母};int main(){ char a[100]=&&; cin&&a; Change(a); cout&&a&& return 0;}
#include&iostream.h& void main() { char a[15];cout&&&input:&;cin&&a; for(int i=0;*(a+i)!='\0';i++) { if(*(a+i)&=65&&*(a+i)&=90) *(a+i)+=32; } cout&&&output:&&&a&& }
int Trans(char in[]) { int i=0; while(in[i]){ if(in[i]&='A' && in[i]&='A') in[i] += 'a'-'A'; /* 32 */ i++ ; } return 1; }
大写字母的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c++字符串大小写转换
c++字符串大小写转换
  c++字符串大小写转换在C++中,由于没有单独定义string这个对象,所以字符串的操作比较麻烦些。
  字符串转换大小写是一个常用的功能,今天就简单总结下常用转换的方法:由于ANSI和Unicode在函数名上有差别,故都列出来,不过本人以Unicode为主。
  「1.用C语言标准库函数toupper,tolower」
  头文件:cctype&& c下面:ctype.h转大写Ansi版: int toupper(int c);&/a& Unicode版:int towupper(wint_t c);MSDN: toupper, _toupper, towupper, _toupper_l, _towupper_l转小写:int tolower(int c);int towlower(wint_t c);MSDN:tolower缺陷:只能转换单个字符Example:WCHAR wch = 'a';wch = towupper(wch); // A「2.用C++语言标准库函数_strlwr_s, _strupr_s」
  注意:要使用安全的字符串函数,不要用_strlwr.头文件:string.h转小写:Ansi:errno_t _strlwr_s(char *str,size_t numberOfElements);Unicode:errno_t _wcslwr_s(wchar_t *str,size_t numberOfElements);注意:numberOfElements 要加上最后NULL字符长度,即numberOfElements = strlen(str) + 1;MSDN:-us/library/y889wzfw(VS.80)。aspx转大写:errno_t _strupr_s(char *str,size_t numberOfElements);errno_t _wcsupr_s(wchar_t * str,size_t numberOfElements);MSDN: -us/library/sae941fh(VS.80)。aspx Example:WCHAR wideStr[] = L"Abc";_wcslwr_s(wideStr, wcslen(wideStr) + 1); // abc _wcsupr_s(wideStr, wcslen(wideStr) + 1);// ABC「3.std::string 转换大小写」
  很遗憾,std::string 没有提供大小写转换的功能,所以只能用STL中的transform结合toupper/tolower完成。
  头文件: string, cctype,algorithm转小写transform(str.begin(),str.end(),str.begin(),tolower);transform(wstr.begin(), wstr.end(), wstr.begin(), towlower);转大写transform(s.begin(), s.end(), s.begin(), toupper);transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);Example:wstring wstr =L"Abc";transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);「4.boost库中string_algorithm 提供了大小写转换函数to_lower 和 to_upper」
  Example:#include &boost/algorithm/string.hpp& using namespace std;using namespace boost;wstring wstr =L"Abc";boost::to_lower(wstr); // abc ====================================================================附完整Example ** * @file&&&& test.cpp * @brief&&& 字符大小写转换* @author&&
* @date&&&&
*/ #include "stdafx.h" #include &cstring& #include &windows.h& #include &cctype& #include &algorithm& #include "boost\algorithm\string.hpp" using namespace std;int wmain(int argc, WCHAR* argv[])
  { char ch = 'a';ch = toupper(ch);WCHAR wch = 'a';wch = towupper(wch);WCHAR wideStr[] = L"Abc";_wcslwr_s(wideStr, wcslen(wideStr) + 1);_wcsupr_s(wideStr, wcslen(wideStr) + 1);wstring wstr =L"Abc";transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);boost::to_lower(wstr);return 0;}看了这个例子,觉得STL的一些东西很值得我花时间去学习一下。
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&3696人阅读
在C++中,由于没有单独定义string这个对象,所以字符串的操作比较麻烦些。
字符串转换大小写是一个常用的功能,今天就简单总结下常用转换的方法:
&由于ANSI和Unicode在函数名上有差别,故都列出来,不过本人以Unicode为主。
&【1. 用C语言标准库函数 toupper, tolower】
&头文件:cctype&& c下面:ctype.h
&Ansi版: int toupper(int c);&/a&
&Unicode版:int towupper(wint_t c);
&int tolower(
&int towlower(
&&& wint_t c
&缺陷:只能转换单个字符
& &&& WCHAR wch = 'a';
&&&&&& wch = towupper(wch); // A
&【2. 用C++语言标准库函数 _strlwr_s, &_strupr_s】
&注意:要使用安全的字符串函数,不要用_strlwr。
&头文件:string.h
&errno_t _strlwr_s(
& & char *str,
&&& size_t numberOfElements
&Unicode:
&errno_t _wcslwr_s(
&&& wchar_t *str,
&&& size_t numberOfElements
&注意:numberOfElements 要加上最后NULL字符长度,即numberOfElements = strlen(str) + 1;
&errno_t _strupr_s(
&&& char *str,
&&& size_t numberOfElements
&errno_t _wcsupr_s(
&&& wchar_t * str,
&&& size_t numberOfElements
&&&& WCHAR wideStr[] = L&Abc&;
&&&& _wcslwr_s(wideStr, wcslen(wideStr) + 1); // abc& 转化后的小写字符串存在wideStr中
&&& _wcsupr_s(wideStr, wcslen(wideStr) + 1);// ABC& 转化后的大写字符串存在wideStr中
&【3. std::string 转换大小写】
&很遗憾,std::string 没有提供大小写转换的功能,所以只能用STL中的transform结合toupper/tolower完成。
&头文件: string, cctype,algorithm
&&transform(str.begin(),str.end(),str.begin(),tolower);
&transform(wstr.begin(), wstr.end(), wstr.begin(), towlower);
&transform(s.begin(), s.end(), s.begin(), toupper);
&transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
&&&& wstring wstr =L&Abc&;
&&&& transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
&【4.boost库中string_algorithm 提供了大小写转换函数 to_lower 和 to_upper】
&#include &boost/algorithm/string.hpp&&&&
&wstring wstr =L&Abc&;
&boost::to_lower(wstr); // abc
&====================================================================
&&&附完整Example
& * @file&&&& test.cpp
& * @brief&&& 字符大小写转换
& * @author&&
& * @date&&&&
&&#include &stdafx.h&
& #include &cstring&
&&#include &windows.h&
& #include &cctype&
& #include &algorithm&
& #include &boost/algorithm/string.hpp&
&int wmain(int argc, WCHAR* argv[])
&&&& char ch = 'a';
&& & ch = toupper(ch);
&&& &WCHAR wch = 'a';
&&&& wch = towupper(wch);
&&& &WCHAR wideStr[] = L&Abc&;
&&&& _wcslwr_s(wideStr, wcslen(wideStr) + 1);
&&&& _wcsupr_s(wideStr, wcslen(wideStr) + 1);
&&& &wstring wstr =L&Abc&;
&& & transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
& && boost::to_lower(wstr);
&&&& return 0;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:54161次
排名:千里之外
原创:11篇
转载:27篇
(1)(4)(1)(1)(6)(13)(12)&&/&&&&/&&&&/&&
头文件:#include &ctype.h&
定义函数:int toupper(int c);
函数说明:若参数 c 为小写字母则将该对应的大写字母返回。
返回值:返回转换后的大写字母,若不须转换则将参数c 值返回。
范例:将s 字符串内的小写字母转换成大写字母。
#include &ctype.h&
char s[] = &aBcDeFgH12345;!#$&;
printf(&before toupper() : %s\n&, s);
for(i = 0; i & sizeof(s); i++)
s[i] = toupper(s[i]);
printf(&after toupper() : %s\n&, s);
执行结果:
before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$

我要回帖

更多关于 c语言字符大小写转换 的文章

 

随机推荐