小编lea*_*ner的帖子

从split中提取最后两个字段

我想从不同长度的变量中提取最后两个字段值.例如,考虑以下三个值:

fe80::e590:1001:7d11:1c7e

ff02::1:ff1f:fb6

fe80::7cbe:e61:f5ab:e62 ff02::1:ff1f:fb6
Run Code Online (Sandbox Code Playgroud)

这三条线的长度可变.如果我用分隔符分割每一行,我想只提取最后两个字段值:

也就是说,从三行开始,我想:

7d11, 1c7e

ff1f, fb6

ff1f, fb6
Run Code Online (Sandbox Code Playgroud)

这可以用split()吗?我没有得到任何想法.

python

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

将制表符分隔值写入文件

从一个文件,我已经采取了一条线,使用分为5列split().但我必须在输出文件中将这些列写为制表符分隔值.

可以说我有l[1], l[2], l[3], l[4], l[5]...总共5个条目.我如何使用python实现这一目标?而且,我无法将l[1], l[2], l[3], l[4], l[5]值写入输出文件.

我尝试了这两个代码,两个都不工作(我使用的是python 2.6):

代码1:

with open('output', 'w'):
   print l[1], l[2], l[3], l[4], l[5] > output
Run Code Online (Sandbox Code Playgroud)

代码2:

with open('output', 'w') as outf:
   outf.write(l[1], l[2], l[3], l[4], l[5])
Run Code Online (Sandbox Code Playgroud)

python

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

使用free()时的分段错误

此代码导致分段错误:

int main(){

    char *p;
    char a[50] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    p = (char *)malloc(50*sizeof(char));

    if(!p){
            cout << "Allocation Failure";
            cout << "\n";
    }
    else{
            cout << "Allocation Success";
            cout << "\n";
            p = a;
            cout << p;
            cout << "\n";
            free(p);
    }

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

执行该程序后的输出是:

Allocation Success

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我无法找到错误.可能是什么原因?

c c++ string

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

标签 统计

python ×2

c ×1

c++ ×1

string ×1