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

相关推荐
charlie1145141912 小时前
精读C++20设计模式:行为型设计模式:中介者模式
c++·学习·设计模式·c++20·中介者模式
楼田莉子2 小时前
Qt开发学习——QtCreator深度介绍/程序运行/开发规范/对象树
开发语言·前端·c++·qt·学习
oioihoii2 小时前
超越 std::unique_ptr:探讨自定义删除器的真正力量
c++
Gohldg2 小时前
C++算法·贪心例题讲解
c++·数学·算法·贪心算法
天若有情6733 小时前
C++空值初始化利器:empty.h使用指南
开发语言·c++
远远远远子3 小时前
类与对象 --1
开发语言·c++·算法
无敌最俊朗@3 小时前
C/C++ 关键关键字面试指南 (const, static, volatile, explicit)
c语言·开发语言·c++·面试
酷~3 小时前
C语言模拟面向对象编程方法之多态
c语言·开发语言
利刃大大4 小时前
【高并发服务器】三、正则表达式的使用
服务器·c++·正则表达式·项目
小何好运暴富开心幸福5 小时前
C++之再谈类与对象
开发语言·c++·vscode