首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将标准输入扫描成可变数量的流

如何将标准输入扫描成可变数量的流
EN

Stack Overflow用户
提问于 2013-02-17 18:54:30
回答 1查看 893关注 0票数 0

我想把stdin扫描成数量可变的字符数组。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
char words1[num][100];    //num passed as command line argument
i = 0;
for (i = 0; i < num; ++i)
{
    While (fscanf(stdin, "%s %s %s ...", words[i], words[i + 1], word[i + 2] ...) != EOF)
    {
         fprintf(outFileStream, "%s", words[i];
    }
}

我们的目标是将stdin拆分成num个文件流,以便多个进程对文件进行排序。我认为vfscanf可能会有所帮助,但您仍然需要知道要发送到多少个格式说明符。我想我可以使用循环和strcat(format, " %s"),并使用带有va_listvfscanf?谁能举个例子?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-17 21:22:41

如果我没理解错的话,我认为您不需要复杂的fscanf格式,但一次只能读取一个字符串。也就是说,您可以使用如下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>

int main (int argc, char** argv) {
    int num = atoi(argv[1]);
    char words[num][100];
    int i = 0;
    while (fscanf(stdin,"%s",words[i]) > 0) { 
       fprintf(stdout,"Stream %d: %s\n",i,words[i]);
       i = (i + 1 ) % num;
    }
}

输入文件texta.txt如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a
b
c
d
e
f
g
h
i
j
k
l
m
n

..。那么上面的程序将会给出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./nstream 4 <texta.txt
Stream 0: a
Stream 1: b
Stream 2: c
Stream 3: d
Stream 0: e
Stream 1: f
Stream 2: g
Stream 3: h
Stream 0: i
Stream 1: j
Stream 2: k
Stream 3: l
Stream 0: m
Stream 1: n
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14924776

复制
相关文章
标准输入输出流
平常我们都会使用Scanner这个下面的方法去进行键盘输入数据,但是弄清楚它的本质也是一件非常有意义的事情。
兰舟千帆
2022/07/16
7910
标准输入输出流
8.1 C++ 标准输入输出流
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
微软技术分享
2023/10/21
2850
8.1 C++ 标准输入输出流
提高标准输入输出流的速度
iostream默认是与stdio关联在一起的,以使两者同步,因此消耗了iostream不少性能。C++中的std :: cin和std :: cout为了兼容C,保证在代码中同时出现std :: cin和scanf或std :: cout和printf时输出不发生混乱,所以C++用一个流缓冲区来同步C的标准流。通过std :: ios_base :: sync_with_stdio函数设置为false后可以解除这种同步,让std :: cin和std :: cout不再经过缓冲区,iostream的性能就会提高了很多倍。因此,当解除同步之后,注意不要与scanf和printf混用以免出现问题。[1]
努力努力再努力F
2019/12/24
8010
c++标准输入输出流关系梳理
输入输出是每一种编程语言必不可少的部分,c++也不例外,下面我们就来说明c++的标准输入输出的前世今生。
cpp加油站
2021/04/16
8960
c++标准输入输出流关系梳理
C++标准输入输出流_seekg函数详解
1.seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。
全栈程序员站长
2022/09/01
9690
python标准输入
sys.stdin是sys模块下的标准输入,在终端直接输入时以Ctrl+D结束,例如下面代码保存为test.py:
py3study
2020/01/07
1.7K0
Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,
1:登录注册IO版本案例(掌握) 要求,对着写一遍。 cn.itcast.pojo User cn.itcast.dao UserDao cn.itcast.dao.impl UserDaoImpl(实现我不管) cn.itcast.game GuessNumber cn.itcast.test UserTest package cn.itcast.pojo;(1) /** * 这是用户基本描述类 * * @author 风清扬 * @version V1.1 * */ publ
Java帮帮
2018/03/16
9950
【说站】js创建具有可变数量的数组
1、Array.of()方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
很酷的站长
2022/11/24
3.1K0
【说站】js创建具有可变数量的数组
Shell标准输入、标准输出和标准错误的重定向总结
Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。
陈不成i
2021/06/22
3.5K0
JavaIO流输入输出流-字符流
字节字符转换流 认识文本和文本文件 123 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)文件是byte byte byte ...的数据序列文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果 字符流(Reader Writer)—->操作的是文本文本文件 123456 字符的处理,一次处理一个字符字符的底层任然是基本的字节序列字符流的基本实现 InputStreamReader 完成byte流解
待你如初见
2018/08/01
7380
python3函数可变输入参量
通常我们在python中定义一个函数的时候,需要给出明确的函数输入参量,比如对于一个数学函数
DechinPhy
2021/05/21
1.3K0
标准输入输出
通过管道把history命令的输出传递给grep命令,即查找已执行命令中出现cat的行
三产
2021/01/13
7370
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
Python 3.x 中 input() 函数可以实现提示输入,python 2.x 中要使用 raw_input(),例如:
Python学习者
2023/08/01
4310
Java基础入门笔记08——文件流,IO流,FileIputStream类,FileOutputStream类,缓冲流,转换流,标准输入输出流,打印流,数据流,对象流,随机存储流
**绝对路径:**直接指明文件在硬盘上真正存在具体位置或者是以Web站点根目录为参考的完整路径。绝对路径是规定死的目录,直观清晰,但被网页引用的文件不能随意挪动。当多个网页引用同一个文件时,所使用的路径都是相同的。
全栈程序员站长
2022/09/21
1.5K0
Java基础入门笔记08——文件流,IO流,FileIputStream类,FileOutputStream类,缓冲流,转换流,标准输入输出流,打印流,数据流,对象流,随机存储流
python的标准输入,输出,错误输出。
    python中的sys模块有标准输入,标准输出,以及标准错误输出的方法。
py3study
2020/01/13
3.6K0
扫码打印新的实现方法(打印时输入)
打印时输入的是Label mx 条码软件的文字、条码、二维码共有属性,实现扫描一个条码,打印一个新标签,常用于重新贴码的包装箱或产品贴。下图为文字、条码、二维码的“打印时输入”属性设置:
用户6708611
2023/07/05
4720
扫码打印新的实现方法(打印时输入)
python标准输入输出
sys.stdin与可读文件对象具有相同的类型,sys.stdout与可写文件对象具有相同的类型
py3study
2020/01/08
8620
Java输入输出(标准)
其中nextLine()这个方法,表示的是,一直读,读到有换行符之后就截至(不取换行符)
全栈程序员站长
2022/08/28
1K0
JavaIO流输入输出流-字节流
FileInputStream fis = new FileInputStream(fileName);
待你如初见
2018/08/01
6560
Python重定向标准输入、标准输出和标
UNIX用户已经对标准输入、标准输出和标准错误的概念熟悉了。这一节是为其它不熟悉的人准备的。
py3study
2020/01/09
4K0

相似问题

输入数量可变的$_POST?

40

处理数量可变的输入字段

14

接受来自标准输入的用户输入,其中可变输入的数量可能有所不同。

23

标准输入/输出流

10

如何正确关闭可变数量的流?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文