结构体转换成C字符串
解决时间 2021-02-13 16:06
- 提问者网友:我的未来我做主
- 2021-02-13 08:43
#include
#include
typedef struct message{
char name[10];
char body[10];
}message;
int main(){
char* buf = NULL;
message m;
strcmp(m.name, "Kevin");
strcmp(m.body, "kevin");
buf = (char*)&m;
int i = 0;
while(buf[i] != '\0'){
printf("%c", buf[i]);
i++;
}
printf("the buf is: %s\n", buf);
return 0;
}
这是我写的一小段程序, 不知道为什么输出的是乱码. 应该怎样将struct转换成C字符串呢?
最佳答案
- 五星知识达人网友:等灯
- 2021-02-13 09:24
int Len = 0;
Len = strlen(m.name) + strlen(m.body);
buf = malloc(len + 1);
if (NULL != buf)
{
strcpy(buf, m.name);
strcat(buf, m.body)
}
puts(buf);
free(buf);
buf = NULL;
全部回答
- 1楼网友:琴狂剑也妄
- 2021-02-13 10:49
基本要求 1.具有计算机的基础知识。 2.了解操作系统的基本概念,掌握常用操作系统的使用。 3.掌握基本数据结构和常用算法,熟悉算法描述工具――流程图的使用。 4.能熟练地使用一种高级语言或数据库语言编写程序、调试程序。 考试内容 一、基础知识与基本操作 (一)基础知识 1.计算机系统的主要技术指标与系统配置。 2.计算机系统、硬件、软件及其相互关系。 3.微机硬件系统的基本组成。包括:中央处理器(运算器与控制器),内存储器(ram与rom),外存储器(硬盘、软盘与光盘),输入设备(键盘与鼠标)输出设备(显示器与打印机)。 4.软件系统的缀成,系统软件与应用软件;软件舶蒸丰概念,文档;程序设计语言与语言处理程序(汇编程序、编译程序、解释程序)。 5.计算机的常用数制(二进制、十六进制及其与十进制之间的转换);数据基本单位(位、字节、字)。 6.计算机的安全操作;计算机病毒的防治。 7.计算机网络的一般知识。 8.多媒体技术的一般知识。 (二)dos的基本操作 l.操作系统的基本功能与分类。 2.dos操作系统的基本组成。 3.文件、目录、路径的基本概念。 4.常用dos操作,包括: 初始化与启动: 文件操作(type,copy,del,ren,xcopy,attrⅰb); 目录操作(dⅰr,md,cd,rd,tree,path); 磁盘操作(format,dⅰskcopy,chkdsk); 功能操作(ⅴer,date,tⅰme,cls,prompt,help); 批处理(批处理文件的建立与执行,自动批处理文件); 输入输出改向。 (三)windows的基本操作 1.windows的特点、基本构成及其运行环境。 2.windows用户界面的基本元素。包括:窗口、图标、菜单、对话框、按钮、光标等。 3.windowo基本操作。包括:启动与退出,鼠标操作,窗口操作,图标操作、菜单操作,对话框操作。 二、程序设计 1.能运用结构化程序设计方法编写程序。 2.掌握基本数据结构和常用算法。 3.能熟练使用一种高级语言或一种数据库语言(共有qbasic、fortran、c以及foxbase+等四种语言,考生任选其中一种。各种语言的考试内容附后)。 三、上机操作 在指定的时间内使用微机完成下述操作: 1.完成指定的计算机基本操作(包括机器启动和操作命令的使用)。 2.按给定要求编写和运行程序。 3.调试程序,包括对给出的不完善的程序进行修改和补充,使之能得到正确的结果。 c语言程序设计 (一)c语言的结构 1.程序的构成,main函数和其它函数。 2.头文件、数据说明、函数的开始和结束标志。 3.源程序的书写格式。 4.c语言的风格。 (二)数据类型及其运算 1.c的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法 2.c运算符的种类、运算优先级、结合性。 3.不同类型数据间的转换与运算。 4.c表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。 (三)基本语句 1.表达式语句,空语句,复合语句 2.数据的输入与输出,输入输出函数的调用。 3.复合语句。 4.go to 语句和语句标号的使用。 (四)选择结构程序设计 1.有if语句实现选择结构。 2.用switch语句实现多分支选择结构。 3.选择结构的嵌套。 (五)循环结构程序设计 1.for 循环结构。 2.while和do while循环结构。 3.continue语句、break语句。 4.循环的嵌套。 (六)数组的定义和引用 1.一维数组和多维数组的定义、初始化和引用。 2.字符串与字符数组。 (七)函数 1.库函数的正确调用。 2.函数的定义方法。 3.函数的类型和返回值。 4.形式参数与实在参数,参数值的传递。 5.函数的正确调用,嵌套调用,递归调用。 6.局部变量和全局变量。 7.变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。 8.内部函数与外部函数。 (八)编译预处理 1.宏定义:不带参数的宏定义;带参数的宏定义。 2.“文件包含”处理。 (九)指针 1.指针与指针变量的概念,指针与地址运算符。 2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。 3.用指针作函数参数。 4.返回指针值的指针函数。 5.指针数组,指向指针的指针,main函数的命令行参数。 (十)结构体(即“结构”)与共用体(即“联合”) 1.结构体和共用体类型数据的定义方法和引用方法。 2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。 (十一)位运算 1.位运算符的含义及使用。 2.简单的位运算。 (十二)文件操作 只要求缓冲文件系统(即高级磁盘i/o系统),对非标准缓冲文件系统(即低级磁盘i/o系统)不要求。 1.文件类型指针(file类型指针)。 2.文件的打开与关闭(fopen,fclose)。 3.文件的读写(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)。
我要举报
大家都在看
推荐资讯