[C++] 字符串的大小写

char

#define _tolower(_Char)    ( (_Char)-‘A‘+‘a‘ )

#define _toupper(_Char)    ( (_Char)-‘a‘+‘A‘ )

char*  (MS)

errno_t _strlwr_s(char* str, size_t numberOfElements);

errno_t _strupr_s(char* str, size_t numberOfElements);

注意:numberOfElements 要加上最后NULL字符长度,即numberOfElements = strlen(str) + 1;

string

std::string 没有提供大小写转换的功能,所以只能用STL中algorithm的transform结合toupper/tolower完成。

transform(str.begin(),str.end(),str.begin(),tolower);

transform(s.begin(), s.end(), s.begin(), toupper);

上边方法如果在部分机器上编译不通过,可以参考http://blog.csdn.net/yasi_xi/article/details/9053279解决。

简单的说就是#include的库太多了,C版本和STL模板函数中均有toupper/tolower函数,二者存在冲突。

解决办法:在toupper/tolower前面加::,强制指定是C版本的(这时也不要include <cctype>了)。

时间: 2024-11-06 04:14:46

[C++] 字符串的大小写的相关文章

5.6.3.5 字符串的大小写转换

ECMAScript中涉及到字符串的大小写转换的方法有4 个:toLowerCase().toLocaleLowerCase().toUpperCase()和toLocaleUpperCase().其中,toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法.而 toLocaleLowerCase()和toLocaleUpperCase()方法则是针对特定地区的实现.对有些地区来说,针对地区的方法与其通用的方法得到的结果相同,但

数组-05. 字符串字母大小写转换(10)

输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变. 输入格式: 输入在一行中给出一个长度不超过40的.以#结束的非空字符串. 输出格式: 在一行中按照要求输出转换后的字符串. 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123 import java.util.Scanner; public class Main { public static void main(String[] args) {

*数组-05. 字符串字母大小写转换

1 /* 2 * Main.c 3 * E5-数组-05. 字符串字母大小写转换 4 * Created on: 2014年8月20日 5 * Author: Boomkeeper 6 *********部分通过********* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[40]={-1}; 14 15 gets(str); 16 17 int i,index; 18 for(i=0;i<40;i++

06-2. 字符串字母大小写转换(10)

输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变. 输入格式: 输入在一行中给出一个长度不超过40的.以#结束的非空字符串. 输出格式: 在一行中按照要求输出转换后的字符串. 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123 1 #include <stdio.h> 2 3 int main() 4 { 5 char s[40]; 6 int i = 0; 7 do { 8 scanf(&qu

字符串忽略大小写的搜索和替换

需求:字符串忽略大小写搜索和替换 解决: 使用re.IGNORECASE import re text = 'UPPER PYTHON, lower python, Mixed Python' f = re.findall("python", text, flags=re.IGNORECASE) print(f) s, n = re.subn("python","snake",text, flags=re.IGNORECASE) print(s)

字符串整体大小写转换,首字母大小写

最近用到了首字母大写的功能,一般的思路是采用charAt(0)结合Character的toUpperCase方法转换,最后再拼成一个字符串的方式来实现 日前看到一个大神的代码,觉得效率比较高,有兴趣的朋友可以看一下 代码如下: /** * 首字母大写转换 * @param str 源字符串,首字母不支持中文 * @return */ public static String firstCharUpper(String str){ if(str!=null&Character.isLowerCas

Python_字符串的大小写变换

1 ''' 2 lower().upper().capitalize().title().swapcase() 3 这几个方法分别用来将字符串转换为小写.大写字符串.将字符串首字母变为大写.将每个首字母变为大写以及大小写互换, 4 这几个方法都是生成新字符串,并不对原字符串做任何修改 5 ''' 6 s='What is Your Name?' 7 s2=s.lower() 8 print(s2) #返回小写字符串 9 # what iss your name? 10 print(s.upper

微软BI 之SSIS 系列 - Lookup 中的字符串比较大小写处理 Case Sensitive or Insensitive

前几天碰到这样的一个问题,在 Lookup 中如何设置大小写不敏感比较,即如何在 Lookup 中的字符串比较时不区分大小写? 实际上就这个问题已经有很多人提给微软了,但是得到的结果就是 Closed and Won’t fix. 说白了,这个就是 By Design,包括到现在的 2012 也没有这个配置选项. https://connect.microsoft.com/SQLServer/feedback/details/339069/ssis-case-sensitive-data-flo

js字符串字母大小写转换

toLocaleUpperCase 方法 返回一个字符串,其中所有的字母字符都被转换为大写,同时适应宿主环境的当前区域设置. stringVar.tolocaleUpperCase( )必选的 stringVar 引用是一个 String 对象,值或文字. 说明toLocaleUpperCase 方法转换字符串中的字符,同时适应宿主环境的当前区域设置.在大多数情况下,其结果与利用 toUpperCase 方法所得到的结果是一样的.然而,如果语言规则与常规的 Unicode 大小写映射方式冲突,那

java用String类的toUpperCase()和toLowerCase()方法转字符串的大小写

1.如何判断英文字母的大小写: package com.ldw.string; import java.util.Scanner; /** * @author 作者:ldw E-mail: [email protected] * @version 创建时间:2015年4月28日 下午12:47:26 * 类说明 */ public class UppserOrLower { private static Scanner console; public static void main(Strin