相关疑难解决方法(0)

像sprintf一样的std :: string格式

我必须格式化std::stringsprintf,并将其发送到文件流.我怎样才能做到这一点?

c++ string formatting stl

412
推荐指数
17
解决办法
77万
查看次数

谁设计/设计了C ++的IOStreams,并且按照当今的标准,它仍然被认为设计良好吗?

首先,似乎我在征求主观意见,但这并不是我所追求的。我很想听听有关该主题的一些有充分根据的论点。


为了对如何设计现代流/序列化框架有所了解,我最近得到了Angelika Langer和Klaus Kreft撰写的《Standard C ++ IOStreams and Locales》一书的副本。我发现,如果IOStreams的设计不当,那么它就不会首先进入C ++标准库。

在阅读了本书的各个部分之后,我开始怀疑IOStreams是否可以从整体架构的角度与STL进行比较。阅读例如对Alexander Stepanov(STL的“发明人”)的采访,以了解有关STL的一些设计决策。

特别令我惊讶的是

  • 谁来负责IOStreams的总体设计似乎是个未知数(我很想阅读有关此的一些背景信息-有人知道好的资源吗?);

  • 一旦你钻研输入输出流,例如眼前表面之下,如果你想输入输出流用自己的类扩展,你会得到一个接口具有相当神秘和扑朔迷离的成员函数的名称,例如getloc/ imbueuflow/ underflowsnextc/ sbumpc/ sgetc/ sgetnpbase/ pptr/ epptr(和有可能甚至更糟的例子)。这使得了解整体设计以及单个零件如何协作变得更加困难。即使我上面提到的那本书没有帮助多(恕我直言)


因此,我的问题是:

如果你要判断今天的软件工程标准(如果确实对这些任何普遍同意),将C ++的输入输出流仍然被认为是经过精心设计?(我不想通过通常认为过时的方法来提高软件设计技能。)

c++ iostream

125
推荐指数
7
解决办法
1万
查看次数

应该在C++代码中使用哪个CI/O库?

在新的C++代码中,我倾向于使用C++ iostream库而不是C stdio库.

我注意到一些程序员似乎坚持stdio,坚持认为它更便携.

这是真的吗?有什么好用的?

c++ iostream stdio

33
推荐指数
7
解决办法
1万
查看次数

在C++输出流中设置宽度

我试图通过设置不同字段的宽度在C++上创建一个整齐格式的表.我可以使用setw(n),做类似的事情

cout << setw(10) << x << setw(10) << y << endl;
Run Code Online (Sandbox Code Playgroud)

或更改ios_base :: width

cout.width (10);
cout << x;
cout.width (10);
cout << y << endl;
Run Code Online (Sandbox Code Playgroud)

问题是,这两种选择都不允许我设置默认的最小宽度,每次我都要向流写入内容时我必须更改它.

有没有人知道我可以做到这一点而无需无数次重复同一次呼叫?提前致谢.

c++ width

18
推荐指数
1
解决办法
3万
查看次数

使用stringstream而不是`sscanf`来解析固定格式的字符串

我想使用提供的工具stringstream从固定格式中提取值string作为类型安全的替代sscanf.我怎样才能做到这一点?

请考虑以下特定用例.我有std::string以下固定格式:

YYYYMMDDHHMMSSmmm

哪里:

YYYY = 4 digits representing the year
MM = 2 digits representing the month ('0' padded to 2 characters)
DD = 2 digits representing the day ('0' padded to 2 characters)
HH = 2 digits representing the hour ('0' padded to 2 characters)
MM = 2 digits representing the minute ('0' padded to 2 characters)
SS = 2 digits representing the second ('0' padded to 2 characters)
mmm …
Run Code Online (Sandbox Code Playgroud)

c++

13
推荐指数
2
解决办法
1万
查看次数

哪个更快,哪个更灵活:printf或cout?

可能重复:
在C++ cin或printf中printf vs cout

我一直想知道printf和cout ..哪一个最终更快,并且它也是最灵活的(即可以打印一系列变量,输出可以格式化)?

PS我知道这看起来类似于C++中的'printf'和'cout',但我并不是真的在问同样的事情.

c++ printf cout

1
推荐指数
1
解决办法
1006
查看次数

C++中单词之间的常量制表空间

可能重复:
打印cout时的C++对齐<<

我在输出文件中写了一组单词.我在单词之间使用'\ t'字符留下了三个制表空间.但有时当单词太小或太大时,对齐似乎存在问题.如何在单词之间给出一个恒定的空格,即使单词很小也可以使用?

这就是我在说什么.

    Word:elpmas         Count:1
    Word:This           Count:4
    Word:pmasel         Count:1
    Word:is         Count:1
    Word:sample         Count:1
    Word:sentence           Count:1
    Word:si         Count:1
    Word:a          Count:1
Run Code Online (Sandbox Code Playgroud)

我希望在单词和计数之间有一个恒定的空格.我目前正在使用

cout<< "Word:"<< hash->key <<"\t\t\t" << "Count:" << hash->value <<endl;
Run Code Online (Sandbox Code Playgroud)

帮帮我.

c++ tabs spacing

0
推荐指数
1
解决办法
7613
查看次数

标签 统计

c++ ×7

iostream ×2

cout ×1

formatting ×1

printf ×1

spacing ×1

stdio ×1

stl ×1

string ×1

tabs ×1

width ×1