小编dwa*_*ter的帖子

在reverse-i-search(Ctrl + R)中,任何在历史记录中切换类似命令的方法

我想一个例子可以很好地理解我的问题.

...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important
...
...
scp file1 user10@192.168.10.1:/home/user1/linuxfiles/samplecode/important/tested
...
...
Run Code Online (Sandbox Code Playgroud)

假设这是历史中命令的顺序.如果我正在做Ctrl+ R并键入scp它将显示最后执行的scp命令(即以'tests'结尾的行).

但我想找到以'important'结尾的scp命令.那么有什么办法reverse-i-search可以查看以scp开头的所有命令来选择合适的命令吗?

linux bash command-line

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

为什么用Vim中的CTRL-A递增会把我从"07"带到"10"?

我在Mac Terminal Vim中有一系列数字,我按下CTRL- 递增 A.Strangley,当我在的时候07,这个数字会跳过010而不是08.我刚试过MacVim并且发生了同样的行为.有谁知道为什么?

注意:两个Vim都非常适合7.

vim

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

为什么在调用recv系统调用时调用sigprocmask?

我有一些recv()定期调用的代码(带有MSG_DONTWAIT标志).我很好奇,因为在vtune中分析我的代码,我看到一个sigprocmask()与之关联的调用recv(),并且它占用了总时间的很大一部分来执行.我很好奇为什么recv()要打电话sigprocmask().

c++ linux

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

我可以将argv从main传递给execv吗?

execv()函数需要一个NULL终止字符串数组,但不接受参数数量.它使用标记值(NULL指针)来确定数组何时结束.

execv()各州的手册页......

按照惯例,第一个参数应指向与正在执行的文件关联的文件名.指针数组必须由NULL指针终止.

......所以我的问题是......

我想通过argvmain()execv().

我能确定进入main的argv是由NULL指针终止的吗?也就是说,我可以放心,argv[argc] == NULL还是我分配我自己的char*尺寸阵列argc+ 1,并把NULLargc指数?

如果我可以放心,它是否在某处记录?

谢谢,〜埃里克

c program-entry-point setuid exec argv

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

修复非相干编码的文本文件的编码

我有一个很长的文本文件,在后续的文本块(iso或utf-8)中使用明显不同的编码.它是使用文本附加文本>> file.bib并从不同来源(网页)复制和粘贴的结果.

原则上可以区分这些块,因为它们是bibtex条目

 @article{key, author={lastname, firstname}, ...}
Run Code Online (Sandbox Code Playgroud)

我想将它转换为一个连贯的utf-8文件,因为它似乎崩溃了我的bibtex查看器(kbibtex).我知道我可以iconv用来转换整个文件的编码,但我想知道是否有办法修复我的文件而不破坏一些条目.

linux perl bibtex character-encoding iconv

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

如何从perl中的字符串变量复制模式

我需要一个句子的内容复制之间=)用perl.比如说:

 $temp="06/18/2012 08:35:35(PID=2150)";
Run Code Online (Sandbox Code Playgroud)

现在我需要复制变量2150之间=和之间)的值$temp2.

perl

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

fprintf不工作

我正在测试它的使用情况,fprintf()但它无法正常工作.当我第一次编写代码时,我忘记添加\n内部fprintf()并且它有效.但是,当我\n在"测试1 2"的开头添加时,它停止工作.

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    FILE* f = fopen("test.txt", "r+");
    if( f == NULL) return 0;

    char str[4][10];

    for(int a = 0; a <= 3; ++a)
    {
        fscanf(f, " %[^\t\n]s", str[a]);
        printf("%s\n", str[a]);
    }

    fprintf(f, "\ntest 1 2\n");

    fclose(f);
    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的test.txt包含(而不是\t\n我按下选项卡,并在文件中输入,但我不能在这里进行管理)

ab\tcd\te \n fg

c io

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

C初学者查询:char数组程序 - 没有获得所需的输出

新手问题:嗨!旨在研究一个阵列在复制期间如何填充另一个(初始化的)阵列.所以我运行了以下代码.

#include<stdio.h>

char strA[]= "\nThis is array 'a'.\n";
char strB[] = "ABCDEFGABCDEFGABCDEFG";

int main()
{
  /* Copy one string to another using pointers */

  char *pA, *pB;
  puts(strA);
  puts(strB);
  pA=strA;
  pB=strB;
  puts(pA);
  puts(pB);
  while(*pA!='\0') {
    *pB++ = *pA++;
    puts(pB);
  }
  *pB='\0';
  puts(strB);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我所期望的是看到如何在每一步中strA[]复制自己strB[],即在中间某处strB[]strA[]复制元素和剩余strB[]元素.但我找不到strA[]复制的元素strB[],尽管strB[]元素不断减少.以下是输出:

This is array 'a'.

ABCDEFGABCDEFGABCDEFG

This is array 'a'.

ABCDEFGABCDEFGABCDEFG
BCDEFGABCDEFGABCDEFG
CDEFGABCDEFGABCDEFG
DEFGABCDEFGABCDEFG
EFGABCDEFGABCDEFG
FGABCDEFGABCDEFG
GABCDEFGABCDEFG
ABCDEFGABCDEFG
BCDEFGABCDEFG …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

无法访问类中声明的私有成员

这是我在这里的第一个问题:)我有一点问题..这些是我的课程:

class Gracz{
    char znak_gracza;
public:
    Gracz();
    Gracz(char znak){
            this->znak_gracza = znak;
        };
    friend void multiplayer();
};
class Osoba: public Gracz{
public:
    Osoba();
    Osoba(char znak){
            this->znak_gracza = znak;
        };
    friend void multiplayer();
};
Run Code Online (Sandbox Code Playgroud)

我也有一个功能多人游戏,我尝试使用构造函数与参数:

void multiplayer(){
    Osoba gracz1('O');
    Osoba gracz2('X');
...
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

错误是一样的gracz1,并gracz2

error C2248: 'Gracz::znak_gracza' : cannot access private member declared in class 'Gracz'
see declaration of 'Gracz::znak_gracza'
see declaration of 'Gracz'
Run Code Online (Sandbox Code Playgroud)

c++ constructor class constructorargument

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

PERL无法将stdout和stderr重定向到输出文件

我有一个需要作为守护进程运行的perl脚本.我在shell脚本中设置了一些环境变量,并从那里调用perl脚本

以下是perl脚本的简化版本:

#!/usr/bin/env perl
do {

    print "HELLO";
    print "TO";
    print "HELL";
    #sleep (10);
} while (1)
Run Code Online (Sandbox Code Playgroud)

以下是我的shell脚本的简化版本:

#!/usr/bin/ksh

DATE=`date +'%Y%m%d'`
TIME=`date +'%H%M%S'`
PID=$$
tmp_log_file=${PID}_${DATE}_${TIME}.log
abcd.pl >>$tmp_log_file &
Run Code Online (Sandbox Code Playgroud)

如果我从perl注释掉睡眠函数调用它可以正常工作.但是当我取消注释它时,tmp_log_file被创建为零字节.

Perl版本: v5.10.0

KSH版本: version sh (AT&T Research) 93t+ 2010-02-02

任何线索

perl

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

重新排列n列中的文件内容

我有一个内容为:

        000000000000000000000000
00000000000000000000000000000000
0000000000000000000000001f000000
01000000060000000000000034000000
3f000000000000000000000004000000
000000001b0000000900000000000000
00000000600300001000000009000000
010000000400000008000000
Run Code Online (Sandbox Code Playgroud)

我想通过指定col的数量来重新排列其内容.例如,如果我说col的值为80,则输出应该是:

00000000000000000000000000000000000000000000000000000000000000000000000000000000
1f000000010000000600000000000000340000003f00000000000000000000000400000000000000
1b000000090000000000000000000000600300001000000009000000010000000400000008000000
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个 ?xxd可以在这里服务吗?谢谢.

linux bash shell

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

C语言中Sprintf函数的使用

如何在 sprintf 函数中包含另一个字符串。看例子-\

char data[6] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
char buff[50];

sprintf(buff, "I want to add this string - < ? >",data) ;
Run Code Online (Sandbox Code Playgroud)
  1. 我的问题是这是否有效?
  2. 如果是,那么我应该添加的正确访问说明符是什么。%s 不工作。

我想要我的buff样子 - 我想添加这个字符串 - 202020202020

请建议。

c string printf

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