小编Khu*_*tel的帖子

什么是"$?" 准确地给我们一个shell脚本?

我看到代码写在网上的某个地方,我想知道究竟什么是"$?" 做/给我们.谷歌搜索没有帮助.

这是我看到的代码:

#!/bin/sh

ping -c 2 localhost
if [ $? != 0 ] ; then
    echo "Couldn't ping localhost, weird"
    fi

ping -c 2 veryweirdhostname.noend 
if [ $? != 0 ] ; then
    echo "Surprise, Couldn't ping a very weird hostname.."
    fi

echo "The pid of this process is $$"
Run Code Online (Sandbox Code Playgroud)

取自:http://efod.se/writings/linuxbook/html/shell-scripts.html

linux bash shell sh

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

如何告诉std :: priority_queue刷新它的排序?

我有一个指向a的优先级队列struct city.我修改优先级队列外的这些指针指向的对象,并希望告诉优先级队列根据新值"重新排序"自己.

我该怎么办?

例:

#include <iostream>
#include <queue>

using namespace std;

struct city {
    int data;
    city *previous;
};

struct Compare {
    bool operator() ( city *lhs, city *rhs )
    {
        return ( ( lhs -> data ) >= ( rhs -> data ) );
    }
};

typedef priority_queue< city *, vector< city * >, Compare > pqueue;

int main()
{
    pqueue cities;

    city *city1 = new city;
    city1 -> data = 5;
    city1 -> previous = NULL; …
Run Code Online (Sandbox Code Playgroud)

c++ stl priority-queue

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

如何阻止linux程序进行打印筛选?

我需要阻止我的用户打印筛选我的程序显示的数据.现在我的想法是使它成为一个全屏程序,可能会调用任何其他Linux快捷方式或应用程序被阻止,并且打印屏幕键被阻止.这种方法是否正确?我该如何完成这项工作?

更新:我的用户仅限于不运行虚拟机,他们没有摄像头.他们也在使用GNOME桌面环境.

更新:系统是我的.我刚刚授予他们临时访问权限,因此系统或其操作系统不会被篡改.他们无法插入任何USB设备,而且用户大多都不知道linux.

linux x11 security screenshot gnome

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

C/C++ sizeof运算符:为什么sizeof('a')返回不同的值?

可能重复:
C/C++中的字符大小('a')

我是C的初学者,对此感到困惑.

C: 我尝试使用"%zu"修饰符在C中打印sizeof('a'),然后输出值4.

C++: 使用cout在C++中打印sizeof('a'),printf(使用上面的格式)都打印了值1.

我认为正确的值应该是1,因为'a'将被视为char.为什么不在C中返回4?这两种语言的操作规模是否都不同?如果是这样,有什么区别,为什么它会返回不同的值?我在两种情况下都使用了gcc编译器.

c c++ memory

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

使用C/C++中的有限主内存编辑10gb文件

我需要使用仅100mb的内存尽快对包含数字列表的10gb文件进行排序.我把它们分成几块然后合并它们.

我目前正在使用C文件指针,因为它们比c ++文件i/o(至少在我的系统上)更快.

我尝试了1gb文件并且我的代码工作正常,但是在打开10gb文件后,只要我fscanf就会引发分段错误.

FILE *fin;
FILE *fout;
fin = fopen( filename, "r" );
while( 1 ) {
    // throws the error here
    for( i = 0; i < MAX && ( fscanf( fin, "%d", &temp ) != EOF ); i++ ) {
        v[i] = temp;
    }
Run Code Online (Sandbox Code Playgroud)

我应该用什么呢?

对于如何以最佳方式解决这个问题,您有什么建议吗?

c c++ sorting file-io

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

标签 统计

c++ ×3

c ×2

linux ×2

bash ×1

file-io ×1

gnome ×1

memory ×1

priority-queue ×1

screenshot ×1

security ×1

sh ×1

shell ×1

sorting ×1

stl ×1

x11 ×1