免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2116 | 回复: 6
打印 上一主题 下一主题

如何区分Standard C Library Functions 和ISO C++? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-27 09:15 |只看该作者 |倒序浏览
程序在编译的时候出现这个错误
无法使用 const char* 来初始化 char*.
检测到 1 错误.

用man strstr 查看了一下
Standard C Library Functions
#include <string.h>
char *strstr(const char *s1, const char *s2);

ISO C++
#include <string.h>
const char *strstr(const char *s1, const char *s2);

如何区分Standard C Library Functions  和ISO C++?

我在程序里如何指定使用标准C还是ISO C++? 用以前的编译器没有出现这个错误。用solaris10 studio12编译时,出现了这个错误

怎么解决这个问题?


#include<stdio.h>
#include<string.h>
int main(int argc,char * argv[])
{
        const char aa[20] = "hello11111hihihi";//1111111111
        const char bb[20] = "11111";//222222222

        char *cc = strstr(aa,bb);//33333333
        printf("cc is %s\n",cc);
}

说明:
1 不能改动111 和222,可不可以更改333的格式?
2 我把char *cc = strstr() 改为const char *cc = strstr(),这种格式应该没有错误吧?(如果以后不会再用到cc变量)

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
2 [报告]
发表于 2008-08-27 09:52 |只看该作者
2 我把char *cc = strstr() 改为const char *cc = strstr(),这种格式应该没有错误吧?(如果以后不会再用到cc变量)

这样修改是没问题的。const char *cc表示cc中的内容(字符串)不可修改。

论坛徽章:
0
3 [报告]
发表于 2008-08-27 09:54 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-08-27 12:46 |只看该作者
原帖由 jamesr 于 2008-8-27 09:54 发表
如果用C++库,应该这样使用头文件
#include <cstdio>
#include <cstring>


还有:
std::strcpy();
std::strstr();
...

[ 本帖最后由 westgarden 于 2008-8-27 12:48 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-08-27 18:19 |只看该作者
原帖由 westgarden 于 2008-8-27 12:46 发表


还有:
std::strcpy();
std::strstr();
...

C++中并不是什么东西都在std名字空间中的~~~C中过来的函数都在全局名字空间::中

论坛徽章:
0
6 [报告]
发表于 2008-08-27 18:31 |只看该作者
我把char *cc = strstr() 改为const char *cc = strstr(),这种格式应该没有错误吧?(如果以后不会再用到cc变量)

这个应该是正确的。
并且以前的C中间是没有const关键字的,所以onst char *和char *是一样的
应该会有某个编译选项解决这个问题

论坛徽章:
0
7 [报告]
发表于 2008-08-27 19:21 |只看该作者
可以更改333的格式, 这里使用的是使用标准C
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP