strlwr,strupr函数

函数原型:extern char *strlwr(char *str)

                    extern char *strupr(char *s)

参数说明:str为要转换的字符串。
        
所在库名:#include <string.h>
  
函数功能:将字符串str中的大(小)写字母转换成为小(大)写字母,其它的不进行转换。
  
返回说明:返回转换后的字符串的指针。

其它说明:暂时无。

实例:

以strlwr为例,strupr类似。

#include <string.h>
#include 
<stdio.h>
int main()
{
    
char str[100]="SKY2098,persist IN DOING AGAIN!";
    
char *strtemp=NULL; 
    strtemp
=strlwr(str);   //将字符串str中的大写字母转换为小写字母
    printf("The string str converted is:  %s  ", strtemp);
    
return 0;
}

在VC++ 6.0 编译运行:

成功地将字符串SKY2098,persist IN DOING AGAIN!中的大写字母全部转换为小写字母。

这里需要注意的一个问题:

如果我们在定义一个指针变量str时,这样就会出现内存异常:

#include <string.h>
#include 
<stdio.h>
int main()
{
    
char *str="SKY2098,persist IN DOING AGAIN!";   //定义字符型指针变量
    char *strtemp=NULL; 
    strtemp
=strlwr(str);   //将字符串str中的大写字母转换为小写字母
    printf("The string str converted is:  %s  ", strtemp);
    
return 0;
}

在VC++ 6.0 编译通过,但是运行出错:

 

这个内存读写异常的问题出在哪里呢?

学过孙鑫老师的VC++视频教程的朋友应该能够很快反应过来,其实就是一个字符串指针和字符串常量的问题。

当我们定义一个字符型指针变量时,它只是引用了该字符串的内存地址,并不能通过这个引用来修改字符串本身。但是,我们可以通过这个引用来修改修改这个字符串的内存地址,也就是再一次把这个字符指针变量的值赋值费另一个字符指针。

当当我们定义了一个字符串常量的时候,通过这个常量能够对这个字符串进行修改等操作,但是它的内存地址是不能够修改的。

转载于:https://www.cnblogs.com/lgh1992314/archive/2012/11/02/5835369.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的类怎样理解_理解Python数据类:Dataclass fields 的概述(下)

原标题 Understanding Python Dataclasses?—?Part 2 &#xff0c;作者为 Shikhar Chauhan 。这是 Python 最新的 Dataclasses 系列的第二部分内容。在第一部分里&#xff0c;我介绍了 dataclasses 的一般用法。这篇主要介绍另一个特征&#xff1a;dataclasses.field。我们已…

西部数码域名解析到阿里云_西部数码云主机好吗 稳定性如何

随着云计算技术的不断发展&#xff0c;我国云计算市场的经济效益也在日渐扩大&#xff0c;各个云服务商之间的竞争异常激烈。在这种环境下&#xff0c;备受人们关注的云服务企业主要呈现两大类&#xff0c;一是互联网巨头背景的阿里云、腾讯云等&#xff1b;二是以西部数码为代…

mysql8.0.22安装步骤图解_MySQL server 5.5的安装 步骤图解

作者&#xff1a;极客小俊 一个专注于web技术的80后我不用拼过聪明人&#xff0c;我只需要拼过那些懒人 我就一定会超越大部分人!知乎极客小俊&#xff0c;官方首发原创文章还有人用老版本的mysql 5.5吗&#xff1f;&#xff1f; 如果有的话 并且不会安装的小白看下面的步骤图吧…

win7下ffmpeg编译动态链接库整理

1.写在ffmpeg编译前 关于ffmpeg的编译过程google一搜&#xff0c;一大堆&#xff0c;ffmpeg编译真的有那么难么&#xff1f;在我编译成功后回头来看&#xff0c;网上的资料过多&#xff0c;反而使自己走了很多的弯路。即便有些楼主亲自测试后编译成功了&#xff0c;由于受机器…

wzctool工具使用详解

Wzctool是WinCE一个比较小巧实用的无线Wifi配置小工具&#xff0c;借助命令行调用该程序能够非常简单地设置wifi的相应参数&#xff0c;能够在一定程度上避免书写代码的繁琐之举。 这个工具是在编译系统的时候&#xff0c;添加Wifi组件后自动生成的。如果用户直接进到Platform…

spring boot 入门_玩转springboot2.x之快速入门开山篇

Spring Boot简介Spring Boot的目的在于创建和启动新的基于Spring框架的项目。Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合。大部分Spring Boot应用只需要非常少的配置就可以快速运行起来。Spring Boot是伴随着Spring4.0诞生的&#xff0c;旨在简化开发。Spri…

python 元组 列表 字典区别_python编程:常用的数据结构之字典的方法总结,和列表和元组区别...

字典是一种键&#xff1a;值的形式&#xff0c;我们前面分享的文章学习了列表[],元祖&#xff08;&#xff09;&#xff0c;字典是由{}引起来的&#xff0c;列表的键对应的是列表的下标&#xff0c;而字典的值对应的是字典的键&#xff0c;我们可以通过字典的键来获取字典的值 …

java 录音_用JAVA实现不限时录音功能

在网上找了个录音软件&#xff0c;而且这个软件是根据手机里剩余内存的大小&#xff0c;可以进行不限时录音&#xff0c;所以特地拿上来和大家分享&#xff01;这个JAVA软件我发到了“玩转手机”里。解压缩后&#xff0c;大家可以用MIDway_2.8中文&#xff0c;通过数据线上传到…

redis 多线程_唬人的Redis多线程,也就那么回事

不羡鸳鸯不羡仙&#xff0c;一行代码调半天。原创&#xff1a;小姐姐味道&#xff08;微信公众号ID&#xff1a;xjjdog&#xff09;&#xff0c;欢迎分享&#xff0c;转载请保留出处。周末被一位小同学憋的很窝火。 他要和我探讨一下&#xff0c;redis到底是多线程的还是单线程…

关于客户端无法获得服务器端GP服务(Geoprocessing Service)结果的解决办法

之前发布了一个绘制等值面的服务&#xff0c;在本机测试的时候始终都可以访问&#xff0c;没有任何的问题&#xff0c;但是在远程访问时&#xff0c;出现了无法获得GP服务结果(注&#xff1a;结果为图片)的问题&#xff0c;而在服务器端确实生成了正确的结果。困扰了很久之后&a…

c++界面开发_QT开发(三)——GUI原理分析

一、命令行程序命令行程序是面向过程的程序设计。命令行程序的特点&#xff1a;A、基于顺序结构执行B、程序执行过程中不需与用户交互C、程序执行结束给出最终运行结果命令行程序适用场合&#xff1a;A、单任务场合B、无交互、简单交互场合C、服务器应用场合二、GUI程序GUI程序…

pycharm使用_后端开发使用pycharm的技巧

1、使用说明首先说明&#xff0c;本文所使用的功能为pycharm专业版所支持&#xff0c;其他版本如社区版&#xff0c;教育版&#xff0c;则不一定支持。作为一名后端开发&#xff0c;我猜你的桌面上一定打开着一系列的软件&#xff0c;用作开发调试工具&#xff0c;比如navicat数…

@value 静态变量_Java中的变量——通过示例学习Java编程(4)

作者&#xff1a;CHAITANYA SINGH来源&#xff1a;通过示例学习Java编程&#xff08;4&#xff09;&#xff1a;Java中的变量-方家话题​www.koofun.com变量是用来存放可以更改的值的容器。例如&#xff0c;当我写int i 10; 这里变量名是i&#xff0c;它与值10相关联&#xff…

nmf算法 python_NMF算法简介及python实现

[ pca算法用于原始数据维数较高时对数据进行降维 关于pca算法的学习&#xff0c;有一篇分析特别详细的论文http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_componen基本原理NMF&#xff0c;非负矩阵分解&#xff0c;它的目标很明确&#xff0c;就是将大矩阵分…

python网络爬虫_Python爬虫实战之网络小说

今天和大家分享的是python爬虫实战&#xff0c;由于本人最近迷上了看网络小说&#xff0c;学生党又穷&#xff0c;只能看看网络dao版小说&#xff0c;现在这类dao版小说网站可以说非常的多&#xff0c;但是所有的网站进去都可以看见一大把的广告信息&#xff0c;非常影响我们的…

java反射机制详解_JAVA反射机制详解_JSP/Java编程_互联网开发技术网_传播最新的编程技术_php361.com...

今天&#xff0c;下午在和朋友聊天的时候&#xff0c;聊起了反射这个话题。我们就从下面这个段简单的代码开始吧。这个代码输出什么&#xff0c;想必大部分的读者跟我一样&#xff0c;会很快地知道答案&#xff1a;0 1 2 3 4 5 6 7 8 9。事实也是如此&#xff1a;朋友这个时候就…

activity 点击后传递数据给fragment_Fragment 新特性 : Fragment Result API 使用以及源码分析

原标题: Android Fragments: Fragment Result原文地址: https://proandroiddev.com/android-fragments-fragment-result......原文作者: Husayn Hakeem今年 Google 推出了 Fragment Result API 和 Activity Results API&#xff0c;用来取代之前的 Activity 和 Fragment 之间通…

android卡片层叠效果_ReactNative之Android绝对布局position:#x27;absolute#x27;问题

工作中会遇到各种各样的问题&#xff0c;ReactNative开发也是填坑不止。比如最近在开发需求中&#xff0c;就遇到一个问题。在一个卡片类型的右上角添加一个删除按钮。使用了绝对布局position:absolute属性&#xff0c;在Android上却无法正常显示&#xff0c;很是烦恼。有一个相…

敏捷开发的6个实战经验

在大型企业中经常是各种软件开发模式混用&#xff0c;一些采用敏捷开发&#xff0c;一些则是采用传统的瀑布式或RUP&#xff08;统一软件开发过程&#xff09;。敏捷开发&#xff0c;相对传统软件开发模式&#xff0c;它主要是针对快速变化的需求&#xff0c;不断优化管理流程&…

java 正则匹配括号是否成对_十分钟学会正则表达式

正则表达式用处挺广的&#xff0c;主要用于处理字符串。正则引擎想要在计算机语言中使用正则表达式&#xff0c;那么这门计算机语言必须要利用正则引擎去实现相应的正则库。主要的正则引擎分为以下两类&#xff1a;DFA 确定性的状态机。不使用”回溯”&#xff0c;效率高&#…