我看到代码写在网上的某个地方,我想知道究竟什么是"$?" 做/给我们.谷歌搜索没有帮助.
这是我看到的代码:
#!/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
我有一个指向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) 我需要阻止我的用户打印筛选我的程序显示的数据.现在我的想法是使它成为一个全屏程序,可能会调用任何其他Linux快捷方式或应用程序被阻止,并且打印屏幕键被阻止.这种方法是否正确?我该如何完成这项工作?
更新:我的用户仅限于不运行虚拟机,他们没有摄像头.他们也在使用GNOME桌面环境.
更新:系统是我的.我刚刚授予他们临时访问权限,因此系统或其操作系统不会被篡改.他们无法插入任何USB设备,而且用户大多都不知道linux.
可能重复:
C/C++中的字符大小('a')
我是C的初学者,对此感到困惑.
C: 我尝试使用"%zu"修饰符在C中打印sizeof('a'),然后输出值4.
C++: 使用cout在C++中打印sizeof('a'),printf(使用上面的格式)都打印了值1.
我认为正确的值应该是1,因为'a'将被视为char.为什么不在C中返回4?这两种语言的操作规模是否都不同?如果是这样,有什么区别,为什么它会返回不同的值?我在两种情况下都使用了gcc编译器.
我需要使用仅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)
我应该用什么呢?
对于如何以最佳方式解决这个问题,您有什么建议吗?