问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言字符串赋值给结构体内字符串数组的问题

发布网友 发布时间:2023-09-24 11:57

我来回答

2个回答

热心网友 时间:2023-10-11 22:53

//第一 你的 函数char* input_check_char(char input_data[],int data_len,int need_len)里面

//这样声明的 char char_need[need_len]; 是不对的 需要动态声明

//其次 的确要加上 你注释掉的这行//char_need[need_len]='\0'; 不过内容要改一下

下面看我代码

//运行结果 第一个在 函数中输出的 第二次是在main函数中输出的
abc
abc
Press any key to continue

#include <stdio.h>
#include <string.h>
#include <malloc.h>
char* input_check_char(char input_data[],int data_len,int need_len)//input_data[]待截取字符串,data_len
//为待截取字符串的长度,need_len是结构体中相应字段的长度
{
char *char_need =(char*)malloc(sizeof(char)*need_len+1); //按照传入参数动态申请字符串数组
char* pd=input_data;
int i=0;
if(data_len<=need_len)
{
char_need=input_data;
}
else
{
while(i<need_len)
{
if( *char_need=='\n')
{
*(char_need+i)='\n';
break;
}
else
{
*(char_need+i)=*pd;
}
pd++;
i++;
}
}
*(char_need+i)='\0';//取程序所要长度的字符串以\0截断//添加截断
printf("%s\n",char_need);
return char_need;
}

main()
{
char *p,s[]="abcdegfghjkdfdfg";
p=input_check_char(s,strlen(s),3);
printf("%s\n",p);
free(char_need);//释放动态指针
}

热心网友 时间:2023-10-11 22:53

你是调试的时候发现的吗?这是因为所有数据空间都会被赋一个随机值。在字符空间也是这要这样,只是因为我们会判断\0,不会用到后面的数据。所以才没有发现。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 C++里结构体里的带指针的变量怎么赋值啊 C++ 结构体指针参数如何赋值? 全局指针变量怎么给结构体中的成员变量赋值 要将一个char形数组中的两个字节的内容赋值给如下结构体中short型变 ... 结构体里char*的赋值问题 鸿蒙系统是基于安卓开发的吗? 鸿蒙是基于什么开发的 ...得了肝门部胆管癌,二月份在医院做了引流手术,手术很成功,但现在身体... 福州驾车到成都龙池国家森林公园路线规划 《王者》排位胜场怎么到3000? 3000胜场分要打多少把 升幂排列常数项写在最前还是最后? 把一个多项式按字母的升幂排列时常... 把多项式按的升幂排列为___. ZMAX x鬼卞|不开线上演唱会的老师不是个好音乐人 胡雪松雅安妻子是谁 短视频基本制作流程 曾强的发展经历 8856元百分之十和百分之十三各是多少? 大吉山钨矿的概况 黑钨矿哪里收购的 工程中,材料Q235-A是什么东东呀 硝甘微量泵入治疗心衰为什么不能用超过48小时 微不足道吗 ? 程蒋山村位于哪个市 现在翡翠都要镶嵌的原因 宾得k50转换到取景器,但是看到的是黑的 为什么宾得k50在拍照界面时,观景窗看不见东西 相机照相的时候看不见照片上面显示无法显示文件是怎么回事 用宾得k50的m档拍照片,一整天还好好的,突然不知错按哪里了,拍出的照片... 四川省达州市通川区张家坝社区安置房的门面房属于国有资产吗? 北京市通州区国有资本运营有限公司是国企吗? 氢氧化镁溶液缓慢滴入硫酸镁溶液中 制成溶液氢氧化镁不可溶,怎么有氢氧化镁溶液的说 广州干洗哪里最便宜? 广州增城有哪些比较大的洗衣店啊?最好有地址和电话。谢谢! 生化危机7主角 生化危机7(恐怖重生) 第三届女足世界杯举办地在哪 如何克服孕妇的临产焦虑症? 孩子被欺负,不敢和家长说,怎么办?