首页 > 编程语言 >C/C++笔记

C/C++笔记

时间:2024-09-17 10:53:18浏览次数:12  
标签:cout string cin 笔记 C++ 输入 EOF

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

标签:cout,string,cin,笔记,C++,输入,EOF
From: https://blog.csdn.net/m0_66371400/article/details/142312456

相关文章

  • C++11 线程同步接口std::condition_variable和std::future的简单使用
    std::condition_variable条件变量std::condition_variable有wait和notify接口用于线程间的同步。如下图所示,Thread2阻塞在wait接口,Thread1通过notify接口通知Thread2继续执行。具体参见示例代码:#include<iostream>#include<mutex>#include<thread>#include<queue>std......
  • 【自学笔记】支持向量机(2)——核函数
    引入  核函数的功能是将一组数据映射到更高维的特征空间,这样可以让在低维无法线性分类的数据能够在高维空间下被分类。  可以证明,如果原始数据是有限的维度,那么一定存在一个高维特征空间使得样本线性可分。  文章内容由《机器学习》相关内容,网络资源,GPT回答和个人......
  • 3295:【例50.1】陶陶摘苹果(C、C++、python)
    3295:【例50.1】陶陶摘苹果信息学奥赛一本通-编程启蒙(C++版)在线评测系统[例50.1]陶陶摘苹果1930:【05NOIP普及组】陶陶摘苹果信息学奥赛一本通(C++版)在线评测系统陶陶摘苹果(非数组版)陶陶摘苹果(非数组版)_哔哩哔哩_bilibili陶陶摘苹果(非数组版)_哔哩哔哩_bilibili......
  • Linux实操笔记2 Ubuntu安装Nginx的不同方法
    今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。一、Nginx是什么?以下是来自Nginx中文文档的内容。Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:作为Web服务器:相比Apache,Nginx使用更少的......
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(3)
    2.4、this指针    每个正常的成员函数调用都会隐含地传递一个指针给到对象,它就是被可能我的天this的隐藏参数。使用该指针访问数据成员或者调用成员函数,也可以将其传递给其他的成员函数或者函数。有时候它对消除有歧义的名字很有用。例如,可以给SpreadsheetCell类定义一个va......
  • C++学习笔记----7、使用类与对象获得高性能(一)---- 书写类(3)
    2.4、this指针    每个正常的成员函数调用都会隐含地传递一个指针给到对象,它就是被可能我的天this的隐藏参数。使用该指针访问数据成员或者调用成员函数,也可以将其传递给其他的成员函数或者函数。有时候它对消除有歧义的名字很有用。例如,可以给SpreadsheetCell类定义一个va......
  • 通过AI大模型现实小红书笔记克隆以及自动化发布
    文章目录前言一、实现思路二、实现步骤1.引入库2.自动登录3.生成笔记4.发布笔记三、界面演示总结前言对于文案小白来说,通过大模型可以轻松帮我们生成各种风格的文案,比如小红书风格的超萌文案。只需要简单几步操作,就能得到让你惊艳的结果。通过自动化的操作,还可以减......
  • 快速入门 QT5 C++基础
    1.QT5中文显示乱码方法一:system("chcp65001");//放在主函数中方法二:首先引入库  #include"windows.h"再在主函数中写 SetConsoleOutputCP(CP_UTF8);2.什么是类,如何创建一个类#include<iostream>#include"windows.h"usingnamespacestd;classDog{/......
  • Datawhale------Tiny-universe学习笔记——Qwen
    1.Qwen整体介绍    对于一个完全没接触过大模型的小白来说,猛一听这个名字首先会一懵:Qwen是啥。这里首先解答一下这个问题。下面是官网给出介绍:Qwen是阿里巴巴集团Qwen团队研发的大语言模型和大型多模态模型系列。其实随着大模型领域的发展,这类产品已经有很多了例如:由......
  • c++中utf8字符串和gbk字符串的转换
    这个功能C++语言本身似乎没有标准实现,需要借助于第三方库或者操作系统API。不得不吐槽一下这么重要的功能居然还没有办法依赖C++语言本身来实现,C++标准委员会真是不干人事啊。那就不废话了,直接给出windows下的实现。std::stringUtf8ToGbk(conststd::string&utf8Str){//St......