小编Dan*_*iel的帖子

如何更新终端中的输出字段而不输出新行?

可能重复:
如何在不重新打印的情况下更新终端中的打印消息(Linux)

我有c ++代码,执行一些模拟.

我想显示模拟的百分比,但我不希望每一步输出一个新行,比如

1%

2%

3%

...

有没有办法在c ++或shell脚本中显示进度而不创建新行?

谢谢

编辑1

任何人都知道如何更新我的个人网页上的数字而不刷新整个页面?

谢谢

编辑2

double N=0;
forAll (internalIDs_, i) {
    N++;
    double percent = 100*N/internalIDs_.size();
    // Info<< "\rProgress: " << percent << "%" << endl;
    printf("\r[%6.4f%%]",percent);}
Run Code Online (Sandbox Code Playgroud)

终端光标通过数字循环闪烁,非常烦人,如何摆脱这个?

c++ shell terminal

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

我应该使用哪个qt小部件进行消息显示?

新手在这里.Qt状态栏每次只有一行,我无法跟踪历史记录或将历史记录保存在日志文件中.

所以我希望在我的主窗口中有一个停靠小部件,它能够以多行方式和自动滚动方式显示我需要的消息,然后自动保存到日志文件中.

我的问题是如何在Qt中这样做?谢谢

qt

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

如何使用Bash"read"命令保证读取?

你知道有一个内置的Bash命令read.如果我想在我的脚本中执行此操作,该怎么办

read PASSWROD
Run Code Online (Sandbox Code Playgroud)

当它提示我输入时,我的所有输入都是可见的.是否有替代命令可以使输入不可见.

bash

11
推荐指数
2
解决办法
8056
查看次数

光标在终端闪烁删除,怎么办?

我使用以下行在我的c ++程序中输出我的模拟进度信息,

double N=0;
double percent=0;
double total = 1000000;
for (int i; i<total; ++i)
{
    percent = 100*i/total;
    printf("\r[%6.4f%%]",percent);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常!

但问题是我看到终端光标通过数字不断循环闪烁,这很烦人,有谁知道怎么摆脱这个?

我见过像wget或ubuntu apt这样的程序,它们也使用进度条或百分比,但它们似乎没有闪烁的光标问题,我想知道他们是怎么做到的?

谢谢!

c++ shell terminal cursor

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

选项需要参数错误

我写了一个shell脚本来做某事.一切正常!我的代码的一部分是这样的,所以我可以传递选项和参数:

while getopts "a:b:c" opt
do
 case $opt in
  a) AA=$OPTARG ;;
  b) BB=$OPTARG ;;
  c) CC=$OPTARG ;;
 esac
done
shift $(expr $OPTIND - 1)
Run Code Online (Sandbox Code Playgroud)

但是现在我想添加一个选项,比如说d我不希望它使用任何参数,如下面的代码所示,但它以错误结束,抱怨option requires an argument error -- d似乎getopts不能这样做.

while getopts "a:b:c:d" opt
do
 case $opt in
  a) AA=$OPTARG ;;
  b) BB=$OPTARG ;;
  c) CC=$OPTARG ;;
  d) DD="ON" ;;
 esac
done
shift $(expr $OPTIND - 1)
Run Code Online (Sandbox Code Playgroud)

那我该怎么办?如果我想要两个选项类型,一个可以接受参数,而另一个不需要参数,那么通常的做法是什么?

bash shell

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

如何在lz4上使用tar?

如何使用tar并通过LZ4过滤存档?还是任何可用的工具?使用起来看起来很麻烦tar cvf folderABC.tar folderABC && lz4c -c0 folderABC.tar.

PS:*nix环境

compression tar lz4

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

不需要的除法运算符行为,我该怎么办?

问题描述

在我的流体模拟过程中,物理时间正在进行中0, 0.001, 0.002, ..., 4.598, 4.599, 4.6, 4.601, 4.602, ....现在我想0.1, 0.2, ..., 4.5, 4.6, ...从这个时间序列中选择时间= 然后进行进一步的分析.所以我写了下面的代码来判断fractpart命中是否为零.

但我很惊讶我发现以下两种分割方法得到两种不同的结果,我该怎么办?

double param, fractpart, intpart;
double org = 4.6;
double ddd = 0.1;

// This is the correct one I need. I got intpart=46 and fractpart=0
// param = org*(1/ddd);

// This is not what I want. I got intpart=45 and fractpart=1
param = org/ddd;

fractpart = modf(param , &intpart);
Info<< "\n\nfractpart\t=\t"
    << fractpart
    << …
Run Code Online (Sandbox Code Playgroud)

c++

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

sed错误抱怨"命令后的额外字符"

#!/bin/bash

# Let's say now, we are working in my $HOME directory

# Content of testfile (originally)
# 123456
# ABCDEF
# /home/superman

string="ABCDEF"
myfile="$HOME/testfile"

# test-1, this is okay
sed -i "/$string/d" $myfile
echo $string >> $myfile

# test-2, this fails
# ERROR (sed: -e expression #1, char 4: extra characters after command)
sed -i "/$PWD/d" $myfile
echo $PWD >> $myfile

# Not working either
sed -i ":$PWD:d" $myfile
echo $PWD >> $myfile
Run Code Online (Sandbox Code Playgroud)

我的问题:如何处理$ PWD情况?

bash shell sed

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

如何在 std::copy 中使用 unique_ptr?

我用谷歌搜索,什么也没找到。我想我只是不知道如何输入正确的问题。

好的,我的简单 MemoryBlock 类有两个成员数据,int sizeint* data. 所以要构建一个复制构造函数,我使用 std::copy 来进行内存复制。现在我想尝试用 C++ 智能指针来替换原始指针。说使用unique_ptr<int> data. 以下代码的等价性是什么?因为现在,rhs.data + size行不通了。

std::copy(rhs.data, rhs.data + size, data);
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers unique-ptr c++11

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

这些重定向和文件描述符的目的是什么?

我看到了以下shell脚本。我想我对它在做什么有了基本的了解,但我仍然不明白使用这么多重定向和文件描述符的目的是什么?例如exec 3>&1do something 2>&1 1>&3exec 3>&-

#-Open file descriptor (fd)
exec 3>&1

#-Create a form and then store data to $VALUES variable
VALUES=$(dialog \
    --keep-tite \
    --ok-label "Submit" \
    --backtitle "Linux User Managment" \
    --title "Useradd" \
    --form "Create a new user" \
    15 50 0 \
    "Username:" 1 1 "$user"     1 10 10 0 \
    "Shell:"    2 1 "$shell"    2 10 15 0 \
    "Group:"    3 1 "$groups"   3 10 8 0 \ …
Run Code Online (Sandbox Code Playgroud)

bash shell

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

标签 统计

shell ×5

bash ×4

c++ ×4

terminal ×2

c++11 ×1

compression ×1

cursor ×1

lz4 ×1

qt ×1

sed ×1

smart-pointers ×1

tar ×1

unique-ptr ×1