社区
C语言
帖子详情
使用fgetc烫的问题
mayu899
2011-01-01 11:25:32
char *a
char ch;
FILE *fp=NULL;
fp = fopen("a.txt", "r");
ch=fgetc(fp);
a=&ch;
以%S输出a数据后有烫???
求教
...全文
147
6
打赏
收藏
使用fgetc烫的问题
char *a char ch; FILE *fp=NULL; fp = fopen("a.txt", "r"); ch=fgetc(fp); a=&ch; 以%S输出a数据后有烫??? 求教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
唐三葬
2011-01-01
打赏
举报
回复
fgetc只接收到一个字符,以%s输出的需要是一个字符串
字符串有'\0'作为终止符,而字符没有
所以你以输出字符串的格式来输出一个字符会发生错误。
漫步者、
2011-01-01
打赏
举报
回复
[Quote=引用楼主 mayu899 的回复:]
char *a
char ch;
FILE *fp=NULL;
fp = fopen("a.txt", "r");
ch=fgetc(fp);
a=&ch;
以%S输出a数据后有烫???
求教
[/Quote]不烫才怪,因为没有\0 结尾,会读到数组末尾。a=&这个玩意在哪? 数组?还是什么?
ayw215
2011-01-01
打赏
举报
回复
另外有个问题
fgetc返回的是int,而不是char
ningto.com
2011-01-01
打赏
举报
回复
a没有分配内存,以及初始化。
a = (char*)malloc(sizeof(char) * 10);//分配10个字节
memset(a, 0, sizeof(a));//全部格式化为0
...
注意最后释放:
free(a);
linfeng_79
2011-01-01
打赏
举报
回复
因为输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC(打个比方,你定义一个10个元素的char数组,结果你初始化了2个元素,后面没初始化,没赋值,没有使用,就变CC了)。CC CCH在Unicode的编码中就是表示中文的“烫”,所以就是很多“烫”字。
thegreatone
2011-01-01
打赏
举报
回复
那是因为a中没有字符串结束符'\0'.
Note-Station-to-markdown
这是一个跨平台脚本,可将 Synology Note Station 的笔记转换为 Markdown 文件。脚本
使用
Python 编写,可在任何桌面平台上运行。 转换后您将获得: 1、以导出的笔记本命名的文件夹; 2、这些文件夹中以所有内联图片原位存储的 Markdown 语法纯文本文件笔记; 3、在笔记文本开头处分配标签和附件链接; 4、所有图片和附加文件都位于笔记本目录下的媒体子目录中。
区县-专精特新企业数量(2013-2025年).xlsx
详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/162965929
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章