首页 > 编程语言 >C++字符串分割和C语言常用格式控制

C++字符串分割和C语言常用格式控制

时间:2023-06-02 18:33:57浏览次数:47  
标签:输出 string cin C++ C语言 字符串 getline 输入


C++string的输出格式控制

输出一个字符串:左对齐,字宽为10,空格填充





1. string s;  
2. cin>>s;  
3. cout<<std::left<<setw(10)<<setfill('*')<<s<<endl;

输入:love


输出效果:love******



C++string字符流字符分割技巧

输入一行字符串,然后按某个字符分割成若干子串




1. string s;  
2. getline(cin,s);//输入一行字符串  
3. stringstream line(s);//创建字符流对象  
4. while(getline(line,s,','))//按逗号分隔字符串  
5.     cout<<s<<endl;


输入:you are,my friend

输出效果:


you are
my friend

其实还有一种写法,注意getline是以回车作为个串的结束符,就像c语言里gets(s);

当对象cin输入文件结束时(end-of-file)返回值为0 !!

这里是把结束符修改为逗号,回车符失去原来的作用



1. string s;  
2. while(getline(cin,s,','))//按逗号分隔字符串  
3.     cout<<s<<endl;

效果同上一种方法

C语言输入输出技巧:

输入示例:

输入三个变量a,b,c。要求跨过b(此技巧实用性不大)

scanf("%d%*d%d",&a,&c);

执行这句话的效果是,从键盘输入三个数字,第二个数字会被忽略,剩余两个数字分别赋给a,c

输出:

左对齐输出一个字符串,要求宽度为m。

int m=10;
    char s[100]="skajd";
    printf("%-*s",m,s);

效果:星号吸收m的值作为%s的宽度,符号代表左对齐。


标签:输出,string,cin,C++,C语言,字符串,getline,输入
From: https://blog.51cto.com/u_16125110/6404552

相关文章

  • 【C语言】动态内存管理函数的 深度解析 #是不是对数组不能变大变小而烦恼呢?学会动态内
    前言动态内存管理函数可以说很好用,但是有些小危险。所谓动态内存分配,就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求......
  • c++ libcurl获取http header信息
    boolHttpDownloader::GetReceiveHeaderInfo(conststd::string&strUrl,std::map<std::string,std::string>&mapHeaderKeyValue){boolbRet=false;if(strUrl.empty()){returnbRet;}else{CURL*handl......
  • shell遍历当前目录下的文件,用去掉文件后缀的字符串替换文件中的文本
    今天写了一个shell,遍历当前目录下的文件,用每个文件的文件名去掉后缀的字符串替换文件中的一段字符串。 脚本如下:#!/bin/bashfile=`ls*.html`;echo$fileforitemin$filedofilename=${item%.*}echo$filenamesed-i"s/search('channel')/search('${fi......
  • Java 将字符串转换为Document对象
    可以使用JAXP(JavaAPIforXMLProcessing)提供的DocumentBuilder类将字符串数据转换成Document对象。具体步骤如下:1.创建一个DocumentBuilderFactory对象,用于创建DocumentBuilder对象。DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();2.创建一个D......
  • 初识c语言
    基本报错:如果我们在编译出现时要加上一句话在开头#define_CRT_SECURE_NO_WARNINGS1目的为了代码拥有跨平台性如何每次都加在源文件找到vs安装路径—找到newc++file.cpp文件,更改文件为#define_CRT_SECURE_NO_WARNINGS1可用一个工具notepad++强制更改;常量(不变的量)字面常量cons......
  • 经典C语言模拟字符串库操作
    1.模拟strcpy(字符串拷贝函数)#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>#include<assert.h>char*my_strcpy(char*dest,constchar*src){char*pc=dest;assert(src);assert(dest);while(*de......
  • Java官方笔记5数字和字符串
    NumbersNumber的子类:另外还有BigDecimal和BigInteger,用于高精度计算,AtomicInteger和AtomicLong用于多线程应用。我们有时候需要用包装类而非基本数据类型,理由如下:方法入参类型为Object,只能传入对象使用包装类提供的常量,比如MIN_VALUE和MAX_VALUE使用包装类的方法来做......
  • C++ break 语句
    C++中 break 语句有以下两种用法:当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。它可用于终止 switch 语句中的一个case。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break语句会停止执行最内层的循环,然后开始执......
  • C++ goto 语句
    goto 语句允许把控制无条件转移到同一函数内的被标记的语句。注意:在任何编程语言中,都不建议使用goto语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用goto语句的程序可以改写成不需要使用goto语句的写法。https://www.81rz.com/zjxt65/......
  • C++ continue 语句
    C++中的 continue 语句有点像 break 语句。但它不是强迫终止,continue会跳过当前循环中的代码,强迫开始下一次循环。对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do...while 循环,continue 语句会导致程序控制回到条件测试上。https......