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

相关推荐
liulilittle14 分钟前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
眠りたいです26 分钟前
基于脚手架微服务的视频点播系统-播放控制部分
c++·qt·ui·微服务·云原生·架构·播放器
Want5951 小时前
C/C++圣诞树①
c语言·开发语言·c++
老赵的博客1 小时前
c++ 杂记
开发语言·c++
jimmy.hua1 小时前
[C++刷怪笼]:set/map--优质且易操作的容器
开发语言·c++
tan180°1 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
bkspiderx2 小时前
C++经典的数据结构与算法之经典算法思想:贪心算法(Greedy)
数据结构·c++·算法·贪心算法
郝学胜-神的一滴2 小时前
避免使用非const全局变量:C++中的最佳实践 (C++ Core Guidelines)
开发语言·c++·程序人生
l1t3 小时前
轻量级XML读写库Mini-XML的编译和使用
xml·c语言·解析器
晚云与城4 小时前
今日分享:C++ Stack和queue(栈与队列)
开发语言·c++