小编lig*_*ong的帖子

如何在unix中查找字符串之间包含多个空格的行?

我有像这样的台词

1|Harry|says|hi
2|Ron|says|bye
3|Her   mi oh ne|is|silent
4|The|above|sentence|is|weird
Run Code Online (Sandbox Code Playgroud)

我需要一个grep命令来检测第三行.

这就是我在做的事情.

grep -E '" "" "+' $dname".txt" >> $dname"_error.txt"
Run Code Online (Sandbox Code Playgroud)

我所依据的逻辑是,第一个空格必须后面跟着一个或多个空格才能被检测为错误.

$ dname是一个保存文件名路径的变量.

我如何获得所需的输出?

(是的

      3|Her   mi oh ne|is|silent
Run Code Online (Sandbox Code Playgroud)

)

unix grep

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

仅显示MySQL中用户创建的表?

是否有一条SQL命令,通过该命令我只能显示用户创建的表,而不能显示MySQL数据库中默认存在的表?

mysql metadata information-schema

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

在C++中迭代连接两个字符串

我知道在SE中已经要求串联串联问题死亡.但据我所知,我已经完成了所有可以帮助我的问题,徒劳无功.

这是我希望用这个程序完成的:

最初我有一个= 0和b = 1,分别为n = 0和n = 1.

对于下一个输入,即从n = 3开始,我的结果应该是前两个字符串的连接.(就像Fibonacci序列一样;只有连接被连接替换)

因此,例如:
对于n = 3,我的输出应为"10".
对于n = 4,我的输出应该是"101"
对于n = 5,我的输出应该是"10110"

我编写的代码没有逻辑问题,但我收到了SIGSEGV错误,我不明白为什么.

#include <iostream>
#include<new>
#include<string.h>

using namespace std;

int main()
{
    long int n,i;
    char *a="0";
    char *b="1";
    char *c=new char[100000];

cout<<"Enter  a number n:";
cin>>n;

for(i=0;i<n;i++)
{

    strcat(b,a);
    strcpy(a,b);

}
cout<<"\nRequired string="<<b;
Run Code Online (Sandbox Code Playgroud)

}

我究竟做错了什么?

c++ string-concatenation

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