|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ strncpy的奇怪指针问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
922
人关注过本帖,
1
人收藏
标题:
strncpy的奇怪指针问题
只看楼主
加入收藏
yangyang321
等 级:
新手上路
帖 子:13
专家分:0
注 册:2007-11-25
楼主
收藏
(1)
问题点数:0 回复次数:6
strncpy的奇怪指针问题
int main(void)
{
char *str = "Select * from Table";
char *des = "hahahaheiheialsdjfsdfdskf";
strncpy(des,str,10);
puts(des);
return 0;
}
这段代码执行后提示段错误
有点不明白
改成char des[100];就可以了
难道指针不行?
搜索更多相关主题的帖子:
strncpy
指针
2007-11-25 16:12
举报帖子
使用道具
赠送鲜花
永夜的极光
等 级:
贵宾
威 望:
27
帖 子:2721
专家分:1
注 册:2007-10-9
第
2
楼
收藏
得分:0
char *str 只是定义了一个字符指针,并没有存放的空间
后面的字符串是个常量,不允许修改的
从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-25 16:19
举报帖子
使用道具
赠送鲜花
静思
来 自:沈阳
等 级:
新手上路
威 望:
8
帖 子:630
专家分:0
注 册:2006-2-28
第
3
楼
收藏
得分:0
char *des = "hahahaheiheialsdjfsdfdskf";
相当于const char *des = "hahahaheiheialsdjfsdfdskf";
改成这样就可以了char des[ ]="hahahaheiheialsdjfsdfdskf";
英者自知,雄者自胜
2007-11-25 16:25
举报帖子
使用道具
赠送鲜花
yangyang321
等 级:
新手上路
帖 子:13
专家分:0
注 册:2007-11-25
第
4
楼
收藏
得分:0
呵呵,了承
谢谢2位
版主辛苦
2007-11-25 22:39
举报帖子
使用道具
赠送鲜花
josen0205
来 自:江苏
等 级:
论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
第
5
楼
收藏
得分:0
strncpy(des,str,10); 这样的语句很容易出错的
最好加上一句 des[10] = '\0';
只有想不到,没有做不到
2007-11-26 09:19
举报帖子
使用道具
赠送鲜花
静思
来 自:沈阳
等 级:
新手上路
威 望:
8
帖 子:630
专家分:0
注 册:2006-2-28
第
6
楼
收藏
得分:0
嗯,楼上的做法比较安全
英者自知,雄者自胜
2007-11-26 11:04
举报帖子
使用道具
赠送鲜花
wangfengLLD
等 级:
新手上路
帖 子:22
专家分:0
注 册:2007-11-6
第
7
楼
收藏
得分:0
给一个用strncpy的例子:
#include <stdio.h>
#include <string.h>
int main(void)
{
char string[10];
char *str1 = "abcdefghi";
strncpy(string, str1, 3);
string[3] = '\0';
printf("%s\n", string);
return 0;
}
nothing is impossible
2007-11-26 11:07
举报帖子
使用道具
赠送鲜花
7
1/1页
1
快速回复:
strncpy的奇怪指针问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.051851 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved