小编use*_*171的帖子

C++打印布尔值,显示什么?

我打印bool到这样的输出流:

#include <iostream>

int main()
{
    std::cout << false << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

是否标准要求的流(例如特定结果0false)?

c++ boolean cout

32
推荐指数
2
解决办法
9万
查看次数

在sed命令中使用变量

我似乎无法在sed命令中使用变量,例如:

sed "24s/.*/"$ct_tname"/" file1.sas > file2.sas
Run Code Online (Sandbox Code Playgroud)

我想要$ct_tname变量,而不是字面意思$ct_tname,这是我不断得到的.

有谁知道如何让这个工作?

问题实际上更复杂,我省略了一些信息.

ct_fname="%let outputfile="/user/ct_"$1".csv";"
Run Code Online (Sandbox Code Playgroud)

这里$1是在我的bash脚本开始时传入的参数(sed是在bash脚本中运行的).

这不正常运行,但是它确实运行,如果我取代ct_fname

ct_fname="%let table=ct_$1;"
Run Code Online (Sandbox Code Playgroud)

有没有办法让第一个ct_fname成功通过?

variables bash escaping sed

26
推荐指数
1
解决办法
5万
查看次数

如何使tar排除隐藏目录

当我想在去皮时排除目录时,我通常使用这样的语法:

tar -zcf /backup/backup.tar.gz --exclude="/home/someuser/.ssh" /home/someuser
Run Code Online (Sandbox Code Playgroud)

如何修改此选项以排除所有隐藏目录,例如,除了.ssh /之外,我还想排除.vnc /,.wine /等.

hidden tar

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

C++将字符串转换为int的最有效方法(比atoi更快)

正如标题中所提到的,我正在寻找能够比atoi更具性能的东西.目前,我所知道的最快的方式是

atoi(mystring.c_str())
Run Code Online (Sandbox Code Playgroud)

最后,我更喜欢不依赖Boost的解决方案.这样做有没有人有很好的表现技巧?

附加信息:int不会超过20亿,它总是正数,字符串中没有小数位.

c++ string int performance type-conversion

22
推荐指数
5
解决办法
4万
查看次数

如何将时间转换为纪元时间?

假设我有一个特定的时刻,我知道小时,分钟,日,秒,月,年等; 我如何转换这个纪元时间(自1970年以来的秒数)?

我不能使用Boost,所以请不要建议Boost解决方案.

c++ time

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

如何用pigz减压

我正在尝试使用pigz进行并行压缩和解压缩.我找到了一种使用以下命令并行压缩的方法:

    tar cf - /input/dir | pigz > output_file.tar.gz
Run Code Online (Sandbox Code Playgroud)

解压缩的等效命令是什么?我需要能够在命令中指定文件名和输出目录路径,以便它对我有用.

compression tar gunzip

14
推荐指数
4
解决办法
2万
查看次数

C++错误:'unordered_map'没有命名类型

据我所知,我正在做所有事情,我收到了错误消息:

error: 'unordered_map' does not name a type
error: 'mymap' does not name a type
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有:

#include <unordered_map>

using namespace std;

//global variable
unordered_map<string,int> mymap;
mymap.reserve(7000);

void main {
  return;
}
Run Code Online (Sandbox Code Playgroud)

我不知道这里可以找到什么....

编辑:当我更新我的声明时

std::tr1::unordered_map<string,int> mymap;
Run Code Online (Sandbox Code Playgroud)

我能够消除第一个错误,但是当我尝试保留时,我仍然得到第二个错误消息.

EDIT2:正如下面所指出的,保留必须进入main,我需要用flag编译

-std=c++0x
Run Code Online (Sandbox Code Playgroud)

但是,仍然存在与unordered_map相关的错误,即:

error: 'class std::tr1::unordered_map<std::basic_string<char>, int>' has no member named 'reserve'
Run Code Online (Sandbox Code Playgroud)

c++ types unordered-map

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

C++打印到终端显着减慢代码?

我有一个代码,我目前在终端上打印了很多诊断消息.有没有人知道这会减慢我的代码的速度?通过将输出传递给文件,我会获得大幅度的提升,例如,而不是运行:

./my_program
Run Code Online (Sandbox Code Playgroud)

我跑

./my_program > output.log
Run Code Online (Sandbox Code Playgroud)

另外,通过使用ofstream替换cout并直接写入文件,我可以进一步提高速度吗?

编辑:我们假设我写的是/ dev/shm,磁盘访问速度并不是真正的问题.

c++ printing terminal performance

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

基于列值拆分大型csv文本文件

我有CSV文件,其中有多列已排序.例如,我可能有这样的行:

19980102,,PLXS,10032,Q,A,,,15.12500,15.00000,15.12500,2
19980105,,PLXS,10032,Q,A,,,14.93750,14.75000,14.93750,2
19980106,,PLXS,10032,Q,A,,,14.56250,14.56250,14.87500,2
20111222,,PCP,63830,N,A,,,164.07001,164.09000,164.12000,1
20111223,,PCP,63830,N,A,,,164.53000,164.53000,164.55000,1
20111227,,PCP,63830,N,A,,,165.69000,165.61000,165.64000,1
Run Code Online (Sandbox Code Playgroud)

我想根据第3列分割文件,例如将PLXS和PCP条目放入他们自己的文件PLXS.csv和PCP.csv中.由于文件恰好是预先排序的,因此所有PLXS条目都在PCP条目之前,依此类推.

我通常最终在C++中做这样的事情,因为那是我最熟悉的语言,但在这种情况下,我的输入CSV文件是几千兆字节,太大而无法加载到C++的内存中.

有人可以说明如何实现这一目标吗?Perl/Python/php/bash解决方案都可以,他们只需要能够处理大文件而无需过多的内存使用.

csv text split large-data

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

bash方法从csv文件中删除最后4列

有没有办法使用bash删除某些输入CSV文件的最后四列?最后四列可以包含从一行到另一行的长度不同的字段,因此仅从每行的末尾删除一定数量的字符是不够的.

csv bash awk cut sed

10
推荐指数
4
解决办法
2万
查看次数