scanf 读入 string 注意点
在做题的时候需要读入字符串,但是又不想使用char 数组,于是采用string存储,当时遇到了scanf读取string失败,查阅资料后总结下。
scanf是c的标准输入输出流,想要读入string,需要提前对string分配足够大的空间,否则会截断数据,其次scanf的参数需要string[0]。
test 1: read a signle string using scanf
#include <bits/stdc++.h>
using namespace std;
int main()
{
string word;
word.resize(100); // 提前分配好空间,更建议使用cin
scanf("%s", &word[[0]);
cout << word << endl;
return 0;
}
test 2: read a vector string using scanf
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<string> words;
string word;
word.resize(100);
for(int i = 0; i < 3; i++)
{
scanf("%s", &word[0]);
words.push_back(word);
}
return 0;
}
补充提高cin速度,一行代码搞定:
std::ios::sync_with_stdio(false);
scanf 读入 string 注意点的更多相关文章
- c语言中怎样用scanf()读入带空格的字符串?
楼主 发表于: 2011-01-14 15:39:55 #include <stdio.h> int main(void){ int i; char a[5]; scanf("% ...
- string用scanf读入printf输出(节省时间)
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; in ...
- string用scanf读入(节省时间)
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; in ...
- 如何用scanf读入一个string
#include <stdio.h> #include <string> using namespace std; int main() { string a; a.resiz ...
- string字符串类型用scanf读入,printf输出
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; in ...
- 原来scanf读入字符串还能这样..
(本文针对于NOIP Day1 玩具迷题) (这是弱鸡写的)(字符串用char二维,本质一样的) 在NOIP成功AC了这道题,结果OJ上被string卡了时间,没办法只能用scanf了.....百度看 ...
- scanf读入与printf输出
作为一个资深$cin,cout$玩家,在多次因为$cin$太慢被吊打后,开始反思有必要认真地学一下$scanf$和$printf$了$\cdot \cdot \cdot$ 格式 $scanf( &qu ...
- 将整个文件读入string中
size_t GetFileSize(FILE* file) { fseek(file, , SEEK_END); return static_cast<size_t>(ftell(fil ...
- scanf读入有空格字符串
当不支持gets时,getline又比较慢,可以使用scarf("%[^\n]s", str);来读入以换行表示读完的字符串,其中[^char]表示以char为结束.
- C++中数字与字符串之间的转换 scanf string总结(复习必读)
1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...
随机推荐
- Python后端基础知识总结
1.所谓可变类型与不可变类型是指:是否可以在不改变原来数据的引用地址基础上,去修改数据.如果能直接修改那么就是可变,否则是不可变 不可变对象:该对象所指向的内存中的值不能被改变.当改变某个变量时候,由 ...
- [Javascript摸鱼记录] 关于js简单字符删减替换增加插入追加前中后处理
以前总是怕死js如其名,能让我入坑润不出来,然后最近被迫写点静态html,又要用到数值运算处理, 于是又开启了「好几十个标签栏解决一个问题」的"探索路程",顺便记录一下摸鱼结果希望 ...
- EMQX+阿里云飞天洛神云网络 NLB:MQTT 消息亿级并发、千万级吞吐性能达成
随着物联网技术的发展与各行业数字化进程的推进,全球物联网设备连接规模与日俱增.一个可靠高效的物联网系统需要具备高并发.大吞吐.低时延的数据处理能力,支撑海量物联网数据的接入与分析,从而进一步挖掘数据价 ...
- vue-cli3配置打包后的文件加上版本号
修改vue.config.js
- Elasticsearch Java client使用
前言 Elasticsearch官方列出了好几个客户端,如下所示 Java Client Java Rest Client(Java High Level REST Client) Java Tran ...
- springboot集成Thumbnailator压缩图片
一.参考大神博客 1.https://blog.51cto.com/u_11269274/5118649 2.https://blog.csdn.net/weixin_44722978/article ...
- eclipse和sts的版本对应
https://blog.51cto.com/9534366/2340508 http://www.mamicode.com/info-detail-2298022.html https://gith ...
- form 表单中input 使用disable属性
记录一下今天踩得坑. 在使用form表单提交的时候,input用了disable属性,在查找了好久之后,找到原因,万万没想到是因为disable. 修改方法:disable改为readonly dis ...
- android本地文件处理的一些经验
选择文件后,现在一般返回 Uri contentResolver.getType(selUrl)结果如下 .txt text/plain .jpeg image/jpeg .mp4 video/mp4 ...
- java基于ssm框架开发的公交查询系统源码公交系统源码公交路线查询项目有论文
简介 java基于ssm的公交路线查询系统,用户可以查询公交站点公交车路线以及公交换乘方案,还可以查看公交车路线地图,以及该站点所有的公交车路线. 演示视频: https://www.ixigua.c ...