C/C++笔记

C/CPP笔记

杂记

struct msg_train和typedef struct msg_train 大小不一样

cstdio和stdio

复制代码
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

#include <cstdio>

int main() {
    std::printf("Hello, World!\n");
    return 0;
}
  • 命名空间stdio.h 中的函数在 C++ 中位于全局命名空间,而 cstdio 中的函数在 C++ 中位于 std 命名空间。
  • 使用场景 :在 C++ 编程中,推荐使用 cstdio 而不是 stdio.h,以确保代码符合 C++ 标准并使用命名空间。
  • std::可加可不加

>>指向

cin>>;cout<<;

cin/cout是人,cin>> 代表人输入的数据流到计算机

空白(即空格、横向制表符、纵向制表符、回车符、换行符、进纸符中的一种)

while(cin >> n);结束时机

复制代码
const string hexdigits = "0123456788ABCDEF";
    string result;
    string::size_type n;

    while (cin >> n)
        if (n < hexdigits.size())
            result += hexdigits[n];

    cout << "res: " << result << endl;

//输入enter不会结束while,因为cin不会返回错误,但cin会返回,是卡在while循环,而不是卡在cin

在C++中,使用while(cin >> n);这种形式的循环会一直运行,直到输入流cin遇到错误或到达文件结尾。通常,这种情况会发生在以下几种情况之一:

  1. 输入流中断 :例如,用户在命令行中输入EOF(End of File)标志。对于Linux系统和MacOS,EOF通常可以通过按下 Ctrl+D 来输入;对于Windows系统,EOF可以通过按下 Ctrl+Z 后再按下 Enter 来输入。
  2. 输入数据格式不匹配 :如果cin期望读取的是整数(因为n是一个整数变量),但是用户输入了一个非整数值(例如字母或其他非数字字符),那么cin会进入错误状态,导致循环终止。
  3. 输入流关闭 :如果输入流被关闭,例如在程序中调用了cin.close()或其他导致输入流关闭的操作。

cin 是 C++ 中的标准输入流,用于从标准输入设备(通常是键盘)获取输入。cin 的返回值并不是一个简单的值,而是一个 istream 对象的引用

在C++中,如果使用cin进行输入,当到达输入的末尾(即遇到EOF,End Of File)时,cin会进入一种错误状态,无法再读取数据。这时cin对象会变为"假"(即在布尔上下文中为false

相关推荐
ziguo112223 分钟前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
白色冰激凌1 小时前
[SECS/GEM研究] (三)SECS-I 串口上消息怎么分块和重传
c++·secs/gem
光头闪亮亮1 小时前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(中)
android·c++·go
光头闪亮亮1 小时前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(下)
android·c++·go
_wyt0012 小时前
洛谷 P7912 [CSP-J 2021] 小熊的果篮 题解
c++·队列
choumin3 小时前
创建型模式——原型模式
c++·设计模式·原型模式·创建型模式
三十岁老牛再出发3 小时前
07.26每日总结
linux·c语言·mysql
code_pgf3 小时前
C/C++ 常用容器功能汇总
c语言·开发语言·c++
个 人 练 习 生3 小时前
strcmp与strstr函数的模拟实现
c语言·开发语言·经验分享·学习·程序人生
小羊先生car4 小时前
RTOS-F429-HAL-基础内容认识(2026/7/26)
c语言