-
C编程中的字符输入问题
让我们分析这段C代码中字符输入的问题,以及如何解决。 这段代码展示了一个常见的C语言输入陷阱:scanf("%c", &ch); 在读取整数后,无法正确读取下一个字符。 这是因为 scanf("%d", &num); 读取整数 13 后,输入缓冲区中仍然残留了一个换行符 (用户按下回车键产生)。 scanf("%c", &ch); 会直接读取这个换行符,而不是用户随后输入的字符 'c'。 因此,ch 的值变成了 ,打印出来就显示为空格。...
作者:wufei123 日期:2025.03.01 分类:c++ 17 -
Gulc:从头开始建造的C库
本文开启了一个系列,介绍我正在开发的C99库:Gulc(Generic Utility Library的缩写)。该库主要用于学习和娱乐目的,旨在提供C标准库中安全内存管理和实用功能(如向量和无序映射),以简化C语言编程。未来将持续添加更多功能。 目前,该库包含一个简单的验证系统(类似于断言,但在发行版构建中也可用)和安全内存相关的功能。您可以在GitHub上找到代码。Gulc使用CMake和CTest进行测试,并尝试通过宏和前缀模拟C++的命名空间。默认情况下,Gulc的所...
作者:wufei123 日期:2025.03.01 分类:c++ 15 -
指针,一个怪异的野兽,适合初学者及以后
对于C/C++编程初学者来说,指针是最难理解的概念之一。许多学生为此苦恼,许多开发者都尽量避免使用指针。然而,理解指针至关重要,因此,让我们从基础开始。 什么是指针? 指针是一种数据类型,类似于int、float等。声明指针的语法是在类型名后添加*。例如,指向整数的指针声明为int *,指向自定义结构mytype的指针声明为mytype *。 指针指向的是变量的内存地址。int *存储整数变量的地址,mytype *存储mytype变量的地址。 示例: #include &...
作者:wufei123 日期:2025.03.01 分类:c++ 11 -
C语言API与高尔夫服务器交谈
本文演示如何使用C API与Golf Application Server进行交互。由于大多数编程语言都支持C链接,因此可以轻松地从各种编程环境访问Golf服务器。客户端API简洁易用,仅包含少量函数和一种数据类型,并支持多线程环境。本例中,Golf服务器使用树形对象存储键值对,服务器运行期间可进行添加、查询和删除操作(类似于内存数据库或缓存)。客户端将执行添加、查询和删除键值对的操作。 一、服务器端配置 创建项目目录并切换到该目录: mkdir -p c-api cd...
作者:wufei123 日期:2025.03.01 分类:c++ 14 -
Dev-C++ 版的问题
dev-c++++ 4.9.9.2 编译错误及解决方案 在 Windows 11 系统使用 Dev-C++ 4.9.9.2 编译程序时,编译器记录窗格可能会显示以下错误信息: gcc.exe: internal error: aborted (program collect2) please submit a full bug report. see <http:> for instructions. 尽管最终显示“编译成功”,但实际程序无法运行,并弹出“原始码...
作者:wufei123 日期:2025.03.01 分类:c++ 15 -
从Web开发人员的角度切换到C
>回顾我作为开发人员的轨迹,它一直很慢地潜入了技术的隐藏深度 - 从ux设计器到前端开发人员,然后是后端开发人员,最后是我当前作为系统和网络工程师的角色。今年,我终于检查了一个主要的愿望清单项目:掌握像c一样的系统集成语言。我很自豪地说我已经制作了我的主语言,这是通往其他重型击球手的坚实门户,例如c ,go和rust。 这种转变是关于个人喜好的。我渴望在计算机的资源上发挥真正的力量,而不是立即使群众眼花azz乱的东西。我想探索C的简单而危险的景观,那里的手动记忆...
作者:wufei123 日期:2025.03.01 分类:c++ 6 -
C ++程序员&#s未定义行为指南
探索c语言编程的未定义行为:一本详尽指南 本文介绍一本关于C语言编程中未定义行为的电子书,共12章,涵盖了C语言编程中一些最棘手和鲜为人知的方面。本书并非C语言入门教材,而是面向熟悉C语言编程的读者,深入探讨未定义行为的各种情况及其潜在后果。作者Dmitry Sviridkin,编辑Andrey Karpov。 历经六个月的精心准备,这本电子书终于与读者见面。未来还将推出印刷版。本书最初计划包含11章,但在创作过程中,内容不断丰富,最终扩展到12章——这本身就是一个经典的数...
作者:wufei123 日期:2025.03.01 分类:c++ 6