VScode C语言中文乱码问题解决

🎉 前言

省流:这不是正经的教学,纯属是作者弱智操作导致的乱码问题,绝不是是什么配置原因导致的。

🎉 问题描述

贴一下我写的C语言代码(太久没写了,最近学数据结构才拾起来)

#include <stdio.h>
#include<string.h>
#define MAXSIZE 100
typedef struct 
{char no[20];char name[50];float price;
}Book;typedef struct{Book *elem;int length;
}SqList;int InitList(SqList *L);int main()
{SqList L;InitList(&L);printf("%s",L.elem[0].name);
}int InitList(SqList *L)
{Book a[100];strncpy(a[0].no,"114514",7);//多出一个长度是用于存储字符串末尾的空字�?strncpy(a[0].name,"红楼梦",4);a[0].name[sizeof(a[0].name) - 1] = '\0'; // 手动添加空字符a[0].price = 100;L->elem = a;if(!L->elem){return -1;}L->length = 0;return 0;
}

在主函数中我想要打印出第一本书名,也就是“红楼梦”,但是终端却输出:红�SW�% ,心肺骤停!

我一开始还以为编码有问题,但后来改成GBK还是存在这个问题。
这是我不知是哪根筋松动了,注意到strncpy(a[0].name,“红楼梦”,4); 这一句,出于本能反应,我将4改成了一个较大的数——10.
再运行一下,乱码消失了,amazing!

此时我恍然大悟,哦,对哟,C语言中一个中文字符好像占两个字符,我用4个存储空间肯定存不下“红楼梦”(加上’\0’)这三个字啊,不说了,羞死了,赶紧去学C语言去了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1540349.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.1-2.2

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第二周 深度卷积网络&#xff1a;实例探究&#xff08;Deep convolutional models: case studies&#xff09;2.1 为什么要进行实例探究&#xff1f;&#xff08;Why look at case studies?&…

PyTorch深度学习快速入门教程【土堆】基础知识篇

Juptyer 版本&#xff1a; Python 3.9.19Pytorch 2.4.1 (pytorch0) C:\Users\25694>conda install nb_conda_kernels(pytorch0) C:\Users\25694>jupyter notebook使用conda环境的pytorch&#xff1a; 成功解决python.exe无法找到程序入口 无法定位程序输入点 shifte…

【Python语言初识(一)】

一、python简史 1.1、python的历史 1989年圣诞节&#xff1a;Guido von Rossum开始写Python语言的编译器。1991年2月&#xff1a;第一个Python编译器&#xff08;同时也是解释器&#xff09;诞生&#xff0c;它是用C语言实现的&#xff08;后面&#xff09;&#xff0c;可以调…

茶思屋直播|TinyEngine+AI:聚焦主航道,在实践中探索低代码技术黑土地

低代码引擎使能开发者定制低代码平台。它是低代码平台的底座&#xff0c;提供可视化搭建页面等基础能力&#xff0c;既可以通过线上搭配组合&#xff0c;也可以通过cli创建个人工程进行二次开发&#xff0c;实时定制出自己的低代码平台。适用于多场景的低代码平台开发&#xff…

【C++ 学习】多态的基础和原理(10)

目录 前言1. 概念2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数重写2.4 虚函数重写的例外2.4.1 协变2.4.1 析构函数的重写 2.5 多态调用和普通调用2.6 函数重写/函数隐藏/函数重载 的对比2.6.1 函数重写2.6.2 函数隐藏2.6.3 函数重载 2.7 C11 final 和override 3…

领域驱动DDD三种架构-分层架构、洋葱架构、六边形架构

博主介绍&#xff1a; 大家好&#xff0c;我是想成为Super的Yuperman&#xff0c;互联网宇宙厂经验&#xff0c;17年医疗健康行业的码拉松奔跑者&#xff0c;曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围&#xff1a; 目前专注java体系&#xff0c;以及…

作为HR,如何考察候选人的沟通能力

如何考察候选人的沟通能力。沟通能力&#xff0c;这个听起来简单&#xff0c;实际上却是一个非常复杂的技能&#xff0c;它关乎到一个人能否有效地传递信息&#xff0c;理解他人&#xff0c;并且在团队中发挥积极的作用。 作为HR&#xff0c;我们应该怎样才能精准地把握住候选…

【Python语言初识(二)】

一、分支结构 1.1、if语句 在Python中&#xff0c;要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词&#xff0c;像if和else就是专门用于构造分支结构的关键字&#xff0c;很显然你不能够使用它作为变量名&#xff08;事实上&#xff0c;用作其他…

网络:UDP协议

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言UDP协议报头和有效载荷分离的问题有效载荷向上交付的问题&#xff0c;也就是交给哪个进程&#xff1f;怎么确定把报文收全了&#xff1f;UDP报头是如何封装的呢&…

mybatisplus的多记录操作 批量删除和批量查询

1.批量查询 通过in查询 Testpublic void testBatchSelectByIds(){List<Integer> ids Arrays.asList(5,7);List<User> users userMapper.selectBatchIds(ids);log.info(users);} 2.批量删除 Testpublic void testBatchDelete(){List<Integer> ids Arrays…

VM VirtualBox虚拟机装Win11提示这台电脑不符合要求,怎么解决?

环境&#xff1a; VM VirtualBox WIN11 问题描述&#xff1a; VM VirtualBox虚拟机装WIN11提示这台电脑不符合要求 解决方案&#xff1a; 1.进入这个页面 2. 跳过win11安全验证 在键盘上按 Shift F10或者FnShift F10调出命令命令提示符&#xff0c; 键入 Regedit 并…

大数据处理从零开始————3.Hadoop伪分布式和分布式搭建

1.伪分布式搭建&#xff08;不会用&#xff0c;了解就好不需要搭建&#xff09; 这里接上一节。 1.1 伪分布式集群概述 伪分布式集群就是只有⼀个服务器节点的分布式集群。在这种模式中&#xff0c;我们也是只需要⼀台机器。 但与本地模式不同&#xff0c;伪分布式采⽤了分布式…

使用Locust进行接口性能测试:关联与参数化技巧分析

Locust是一款开源的Python性能测试工具&#xff0c;它可以模拟大量并发用户对网站或者其他接口进行压力测试 1. 关联&#xff1a;精确模拟用户操作 在某些场景下&#xff0c;我们需要将之前请求的响应参数关联到后续请求中&#xff0c;以模拟用户操作。这在会话管理&#xff…

数字工厂管理系统与MES系统在实际应用中有哪些区别

随着制造业的数字化转型步伐加快&#xff0c;数字工厂管理系统与制造执行MES系统作为两大关键工具&#xff0c;在实际应用中展现出了明显的差异。本文将从实际应用的角度&#xff0c;详细探讨这两种系统之间的主要区别。 数字工厂管理系统的实际应用 数字工厂管理系统侧重于对…

python检测keycloak证书连接报错问题

最近一直被keycloak的证书问题困扰了很久&#xff0c;老是提示ssl安全连接&#xff0c;由于不会java,只好硬着头皮用python测试。 我这里的证书是自己签注的证书&#xff0c;导入系统的是CA根证书。 from keycloak import KeycloakOpenID# 1. 配置 Keycloak 客户端 keycloak_o…

STM32F407ZGT6驱动sd卡+文件夹 并写入多组实时数据 基于cubemx生成

SD卡介绍 SD卡&#xff0c;全称Secure Digital卡&#xff0c;是一种常见的便携式存储设备&#xff0c;通常用于存储和传输数据。它是一种闪存存储卡。 TF卡&#xff08;TransFlash卡&#xff09; 又称MicroSD卡&#xff0c;MicroSD卡比SD卡小&#xff0c;通常只有SD卡的1/4大小…

LLM(大语言模型)和AIGC入门学习路线图,零基础入门到精通,收藏这一篇就够了

大模型是指网络规模庞大的深度学习模型&#xff0c;其参数量通常在千亿级别。 学习大模型需要具备计算机基础&#xff0c;这一点非常重要&#xff01; 要系统地入门大模型&#xff0c;首先需要学习深度学习的基础知识&#xff0c;包括神经网络&#xff08;NN&#xff09;、卷…

nvm node管理工具常用指令

注&#xff1a;使用nvm之前需要卸载掉原有的node 1.在终端输入 nvm list available&#xff0c; 查看网络可以安装的版本。 点击visit后面的链接可查看完整版本列表 版本区别&#xff1a; CURRENT&#xff1a;当前正在使用的 Node.js 版本。LTS&#xff08;Long Term Suppor…

java踩坑

1.mybatis在idea可以正常运行&#xff0c;但是打jar包后&#xff0c;就报链接超时&#xff0c;可能是参数设置有问题&#xff0c;但是idea自动忽略了。 出问题的配置&#xff1a;&#xff08;圈出来的地方乱码了&#xff0c;idea有纠错能力&#xff0c;它自动调整为正确的&…

电脑录课软件哪个好用,提高教学效率?电脑微课录屏软件推荐

在当今这个数字化时代&#xff0c;教育领域也迎来了翻天覆地的变化。随着远程教学和在线学习的普及&#xff0c;教师们开始寻求更高效、更便捷的教学工具来提升教学质量和学生的学习体验。电脑录课软件&#xff0c;作为现代教育技术的重要组成部分&#xff0c;能够帮助教师轻松…