万用头文件

 #include<bits/stdc++.h>包含了目前c++所包含的所有头文件!!!!

#include <bits/stdc++.h>

C++常用输入输出

(1条消息) C++:cin、cin.getline()、getline()的用法_lightmare625的博客-CSDN博客_cin.get和cin.getlinehttps://blog.csdn.net/weixin_41042404/article/details/80934191?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166590681116781432913035%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166590681116781432913035&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-80934191-null-null.142%5Ev56%5Econtrol,201%5Ev3%5Eadd_ask&utm_term=getline&spm=1018.2226.3001.4187

#include<iostream>
using namespace std;
int main(){int n,num;while(1){cin>>n;int sum = 0;if(n==0){break;}for(int i = 0;i<n;i++){cin>>num;sum+=num;}cout<<sum<<endl;}
}

#include<iostream>
using namespace std;
int main(){int m,n,num,sum;cin>>m;while(m--){cin>>n;sum = 0;while(n--){cin>>num;sum+=num;}cout<<sum<<endl;}
}

#include<iostream>
using namespace std;
int main(){int n,num;while(cin>>n){int sum = 0;while(n--){cin>>num;sum+=num;}cout<<sum<<endl;}
}

#include <iostream>
using namespace std;
int main(){int sum,num;while(cin>>num){sum+=num;if(cin.get()=='\n'){cout<<sum<<endl;sum=0;}}
}

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
int main(){int n;cin>>n;vector<string> v(n);rep(i,0,n){string s;cin>>s;v[i]=s;}sort(v.begin(),v.end());rep(i,0,n){cout<<v[i]<<" ";}
}

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
int main(){vector<string> v;string s;while(cin>>s){v.push_back(s);if(cin.get()=='\n'){sort(v.begin(),v.end());for(auto i:v){cout<<i<<' ';}cout<<endl;v.clear();}}
}

#include <bits/stdc++.h>
using namespace std;int main(){string s;while (cin >> s){vector<string> v;string wd;stringstream ss;ss << s;while (getline(ss,wd,','))v.push_back(wd);std::sort(v.begin(), v.end());for (int i = 0; i < v.size() - 1; i ++ )cout << v[i] << ',';cout << v[v.size() - 1] << endl;}return 0;
}

sstream

<sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。

stringstream

(2条消息) C++ stringstream 简单使用_原来是枫哥呀!的博客-CSDN博客_c++ stringstreamhttps://blog.csdn.net/weixin_45867382/article/details/122109133?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166590209016782248519371%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166590209016782248519371&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-122109133-null-null.142%5Ev56%5Econtrol,201%5Ev3%5Eadd_ask&utm_term=%20stringstream%20&spm=1018.2226.3001.4187

<<不会覆盖,ss(str)在<<添加时会被覆盖掉

实现任意类型的转换

template<typename out_type, typename in_value>out_type convert(const in_value & t){stringstream stream;stream<<t;//向流中传值out_type result;//这里存储转换结果stream>>result;//向result中写入值return result;}
int main(){string s = "1 23 # 4";stringstream ss;ss<<s;while(ss>>s){cout<<s<<endl;int val = convert<int>(s);cout<<val<<endl;}return 0;
}

sprintf()

int main(){char str[256] = { 0 };int data = 1024;//将data转换为字符串sprintf(str,"%d",data);//获取data的十六进制sprintf(str,"0x%X",data);//获取data的八进制sprintf(str,"0%o",data);const char *s1 = "Hello";const char *s2 = "World";//连接字符串s1和s2sprintf(str,"%s %s",s1,s2);cout<<str<<endl; return 0;
} 

getline用法总结

// getlineDemo.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <string>#include <fstream>/**  Note:这里需要区分 getline和 std::cin.getline,是属不同的二个类中的函数,行参不一样,但功能是差不多的一, getline(cin,str)是string类对象的成员函数,即string::getline,使用时需头文件#include <string>,例子:1,2,4declaration:(1) istream& getline (istream& is, string& str, char delim);(2) istream& getline (istream& is, string& str);二, cin.getline是输入流对象的成员函数,即istream::getline,头文件#include<iostream> ,例子:3cin.getlineistream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );*/const char* g_fileName = "file.txt";
bool creatFile()
{std::ofstream ofstr( g_fileName );if ( !ofstr )return false;std::stringstream ss;ss<<"this is the first line \n";ss<<"this is the second line \n";ss<<"this is the third line \n";ofstr << ss.str();ofstr.close();return true;
}int _tmain(int argc, _TCHAR* argv[])
{// 1, 读取一个流串到string中,设置停止条件std::stringstream ss;ss << "abcdefgh";std::string tempStr = "";getline( ss, tempStr, 'd' ); // or like this: getline( std::cin, tempStr, 'd' )std::cout << "处理前的字符串:" << ss.str() << ", getline处理遇'd'之后的字符串:" << tempStr << std::endl;// 2, 读取一个流串到string中,没有设置停止条件ss.seekg( std::ios_base::beg ); // or: ss.seekg(0, ss.beg );tempStr.clear();getline( ss, tempStr ); // or like this: getline( std::cin, tempStr, 'd' )std::cout << "处理前的字符串:" << ss.str() << ", getline读取整行的字符串:" << tempStr << std::endl;// 3,读取一个流串到char数组ss.seekg( std::ios_base::beg );char charArr[16] = {0};std::cout << "请输入一个中间带'd'的字符串:";std::cin.getline( charArr, 16, 'd' );std::cout << "通过cin.getline的方式过滤带'd'的字符串之后的内容:" << charArr << std::endl;// 4,getline循环读取文件中的每一行内容if ( !creatFile() ) return -1;std::ifstream ifstr( g_fileName );if ( !ifstr )return -1;unsigned int lineNum = 1;while( getline( ifstr, tempStr )){std::cout << " LineNum: " << lineNum << " , contens: " << tempStr << std::endl;++lineNum;tempStr.clear();}ifstr.close();system("pause");return 0;
}

C++string类常用方法

使用 string.insert() 进行插入操作

string& insert(size_t pos,const string&str);   
// 在位置 pos 处插入字符串 strstring& insert(size_t pos,const string&str,size_t subpos,size_t sublen); 
// 在位置 pos 处插入字符串 str 的从位置 subpos 处开始的 sublen 个字符string& insert(size_t pos,const char * s);    
// 在位置 pos 处插入字符串 sstring& insert(size_t pos,const char * s,size_t n); 
// 在位置 pos 处插入字符串 s 的前 n 个字符string& insert(size_t pos,size_t n,char c);     
// 在位置 pos 处插入 n 个字符 citerator insert (const_iterator p, size_t n, char c); 
// 在 p 处插入 n 个字符 c,并返回插入后迭代器的位置iterator insert (const_iterator p, char c);      
// 在 p 处插入字符 c,并返回插入后迭代器的位置

使用 string.erase() 进行元素删除操作

string& erase (size_t pos = 0, size_t len = npos);   // 删除从 pos 处开始的 n 个字符
iterator erase (const_iterator p);            // 删除 p 处的一个字符,并返回删除后迭代器的位置
iterator erase (const_iterator first, const_iterator last); // 删除从 first 到last 之间的字符,并返回删除后迭代器的位置

使用 getline() 函数来获取 string 输入

string str;
getline(cin, str);

ListNode的结构

struct ListNode {int val;  //当前结点的值ListNode *next;  //指向下一个结点的指针ListNode(int x) : val(x), next(NULL) {}  //初始化当前结点值为x,指针为空};

如何向ListNode中插入新的结点:从键盘输入

ListNode* temp1 = new Solution::ListNode(0); //创建新元素,
ListNode* l1 = temp1; //最后的结果l1指向temp1,这样可以获取temp所接收的全部元素,而temp的指针由于每次都往下移,所以每次都更新while ((c = getchar()) != '\n')   //以空格区分各个结点的值{if (c != ' '){ungetc(c, stdin);  //把不是空格的字符丢回去cin >> num;Solution::ListNode* newnode = new Solution::ListNode(0);newnode->val = num;//创建新的结点存放键盘中读入的值newnode->next = NULL;temp2->next = newnode;//并将其赋值给temp2temp2 = newnode; //此处也可以写成  temp2=temp2->next,使指针指向下一个,以待接收新元素}}
逆序输出所有元素void  Solution::reversePrintListNode(ListNode* head)
{if (head == nullptr) return;cout << head->val; //顺序输出reversePrintListNode(head->next);  cout << head->val; //逆序输出}

十进制转二进制

#include<bits/stdc++.h>
using namespace std;
int n,ans;//ans储存二进制位数,方便输出
vector<int> a;//因为n的范围是1e9,所以我定了一个动态数组
int main(){
cin>>n;
while(n>0){
ans++;//存位数
a.push_back(n%2);//如数组
n/=2;}
for(int i=ans-1;i>=0;i--) cout<<a[i];}//倒序输出

【学习日志】2022.10.16 万用头文件 sstream C++进制转换相关推荐

  1. Python 学习之 --- 语法部分(变量、标识符、关键字、进制转换、数据类型转换、运算符)

    文章目录 一.变量 1. 变量类型 2. 示例 二.标识符 1. 命名规则 2. 示例 三.关键字 四.进制转换 五.数据类型转换 六.运算符 1. 算数运算符 2. 赋值运算符和复合赋值运算符 3. ...

  2. python学习笔记分享(二十四)python学习笔记分期补充(二)复数,randint与sample,进制转换表,转义字符,二维数组,键,end,pass,迭代器和生成器

    一:复数 Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型. complex(x) 将x转换到一个复数,实数部 ...

  3. 适合人工智能的编程语言有哪些 人工智能学习路线(2022.10.16)

    人工智能ai用什么编程语言_用于AI开发的6种最佳编程语言 人工智能ai用什么编程语言_用于AI开发的6种最佳编程语言_cxq8989的博客-CSDN博客 最适合人工智能开发的六种编程语言 最适合人工 ...

  4. 16进制-2进制-10进制转换包(终端交互专用)

    因业务需要,与终端机器进行交互.特此写了个2进制10进制16进制字符串之间的转换包. package com.tools;import nettyServer.nServerAccept; impor ...

  5. 用汇编实现2进制到16进制 2进制到10进制转换并按要求输出

    用汇编实现2进制到16进制 2进制到10进制转换并按要求输出 起因 题目要求 题目样例 实现代码 验证结果 最后 起因 我因为上课摸鱼,所以当时没学习的时间现在都要补回来. 三天,大概花了15个小时写 ...

  6. java的代码之进制转换(2,8,16与10进制转换)

    文章目录 一.2,8,16进制转换成10进制 二.10进制转换成2,8,16进制返回STRING 三.自己写的十进制转换成十六进制 一.2,8,16进制转换成10进制 使用Integer.parseI ...

  7. 16进制转string java_java的2/10/16进制转换和字符串数字转换

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  8. 10进制转换成16进制

    更新中......... 任意2-36进制数转化为10进制数. 建议自己写函数,代码如下: int Atoi(string s,int radix) //s是给定的radix进制字符串 {int an ...

  9. java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换

    public static void main(String[] args) { int i = 10; System.out.println("***********10进制转换2进制.8 ...

最新文章

  1. ios Develop mark
  2. RDKit | 基于不同描述符和指纹的机器学习模型预测logP
  3. 面试:说说你对 Java 中 final 的理解?
  4. Nubiers to follow
  5. 使用mpvue开发微信小程序——原生微信小程序、mpvue、wepy对比
  6. android基础组件----Button的使用
  7. 【渝粤题库】广东开放大学 商务办公软件应用与实践 形成性考核
  8. 【原】PSD图标素材的全自动切图方法,适用于IOS、安卓、web前端等领域
  9. ubuntu下从软件中心安装软件时的软件缓存目录
  10. 转贴:水晶报表动态加载图片(签名)
  11. 智能科学与技术——介绍概要
  12. 苹果6swifi温度过高 iphone6s温度过高提醒修复教程
  13. 小米摄像头有onvif协议_小米8SE、魅族16T、荣耀畅玩9A对比
  14. 根据现在的时区,判断其他时区的时间,包含夏令时。
  15. 视线估计14个常见数据集下载
  16. (※)中序遍历二叉树的非递归算法
  17. java.lang.Short常用方法
  18. revit二次开发的一些前期准备
  19. 挑战杯获奖作品_小挑战杯-创青春创新创业竞赛
  20. linux中权限管理命令chmod

热门文章

  1. git学习——上传项目代码到github
  2. echarts 折线图设置曲线平滑
  3. python:sxtwl(日历库)
  4. 如何安装pypi下载的包
  5. Linux压缩命令gzip、tar、zip的区别和用法
  6. mysql 计算近30天总金额_计算月嫂每天工资,应该用总工资除以30天还是26天?-免费法律咨询...
  7. ECharts饼图实例
  8. python编写coc部落冲突游戏辅助(1)
  9. 【Python学习笔记(二)】使用Pyinstaller将不同路径下的py文件打包成exe可执行文件
  10. SRGAN超分辨率网络