关于c语言中strupr的用法
答案:3 悬赏:40 手机版
解决时间 2021-03-17 19:06
- 提问者网友:轻浮
- 2021-03-16 18:36
关于c语言中strupr的用法
最佳答案
- 五星知识达人网友:狂恋
- 2021-03-16 19:34
原型:
extern char *strupr(char *s);头文件:
#include功能:将字符串s转换为大写形式
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。
兼容性说明:strupr不是标准C库函数,只能在VC中使用。在linux gcc环境下需要自行定义这个函数。
举例:
// strupr.c
#include
#include
int main()
{
char s[]="Copywrite 1999-2000 GGV Technologies";
printf("%s",strupr(s));
getchar();
return 0;
}
//输出:COPYWRITE 1999-2000 GGV TECHNOLOGIES相关函数:strlwr
extern char *strupr(char *s);头文件:
#include
说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。
兼容性说明:strupr不是标准C库函数,只能在VC中使用。在linux gcc环境下需要自行定义这个函数。
举例:
// strupr.c
#include
#include
int main()
{
char s[]="Copywrite 1999-2000 GGV Technologies";
printf("%s",strupr(s));
getchar();
return 0;
}
//输出:COPYWRITE 1999-2000 GGV TECHNOLOGIES相关函数:strlwr
全部回答
- 1楼网友:醉吻情书
- 2021-03-16 21:55
试试strupr(s)追问能详细解释一下么?!没有明白怎么使用strup(s)?追答就是你能正常运行的那个,去网上查查strupr()的用法就知道能不能使用
strupr("beijing") 个人认为不能这样用,至少不推荐
strupr("beijing") 个人认为不能这样用,至少不推荐
- 2楼网友:爱难随人意
- 2021-03-16 20:24
注意:"beijing"是一个字符串常量。
让我们看看strupr的原型和介绍:
char*_strupr(char*string);
Return Value
These functions return a pointer to the altered string. Because the
modification is done in place, the pointer returned is the same as the pointer
passed as the input argument. No return value is reserved to indicate an
error.
----------------------------------------------------------------
返回的char*指针,是和传入的参数指针string指向同一地址的,char s[]="beijing";,这样是用变量s来记录常量地址,因此可以通过。
但是直接传入常量"beijing",要注意常量是不能被修改的,因此会报错。追问谢谢指点,顿时豁然开朗。但是,依旧冒昧问一下,为什么有的人依旧提出strupr(''beijing'')可行呢?!可能是系统不一样还是因为什么~~~追答常量指向的区域为PAGE_READONLY,因此按照标准是不能够修改这些区域的内容。
VirtualProtect改下页属性就可以像你说的那样用了。追问非常感谢能回答。但是能具体告诉我怎么用VirtulProtect修改页属性么,我是新手。谢谢~~~追答VirtulProtect是一个win32 API,直接调用就行了,具体可以查阅MSDN。
让我们看看strupr的原型和介绍:
char*_strupr(char*string);
Return Value
These functions return a pointer to the altered string. Because the
modification is done in place, the pointer returned is the same as the pointer
passed as the input argument. No return value is reserved to indicate an
error.
----------------------------------------------------------------
返回的char*指针,是和传入的参数指针string指向同一地址的,char s[]="beijing";,这样是用变量s来记录常量地址,因此可以通过。
但是直接传入常量"beijing",要注意常量是不能被修改的,因此会报错。追问谢谢指点,顿时豁然开朗。但是,依旧冒昧问一下,为什么有的人依旧提出strupr(''beijing'')可行呢?!可能是系统不一样还是因为什么~~~追答常量指向的区域为PAGE_READONLY,因此按照标准是不能够修改这些区域的内容。
VirtualProtect改下页属性就可以像你说的那样用了。追问非常感谢能回答。但是能具体告诉我怎么用VirtulProtect修改页属性么,我是新手。谢谢~~~追答VirtulProtect是一个win32 API,直接调用就行了,具体可以查阅MSDN。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯