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

相关推荐
ragnwang2 分钟前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
罗伯特祥27 分钟前
C调用gnuplot绘图的方法
c语言·plot
嵌入式科普1 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
lqqjuly3 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
冰红茶兑滴水4 小时前
云备份项目--工具类编写
linux·c++
刘好念4 小时前
[OpenGL]使用 Compute Shader 实现矩阵点乘
c++·计算机图形学·opengl·glsl
2401_858286114 小时前
115.【C语言】数据结构之排序(希尔排序)
c语言·开发语言·数据结构·算法·排序算法
酒鬼猿4 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
姚先生975 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode
2401_858286115 小时前
109.【C语言】数据结构之求二叉树的高度
c语言·开发语言·数据结构·算法