小编ras*_*hok的帖子

蚂蚁正则表达式(regexp 元素)模式中的转义字符是什么

我有一个文本文件(f.txt),它的内容应该是文件列表(.c 文件和其他文件),如下所示。

    第一个.c
    温度
    临时文件
    一个.txt
    第二个.c
    第三个.c

在这个文件中,我想只为.c文件添加一些前缀和后缀。为此,我编写了以下 ant 脚本。

    <replaceregexp byline="true" file="f.txt">
        <regexp pattern="(.+).c"/>
        <substitution expression="PRE \1.c POST"/>
    </替换正则表达式>

它不适用于字符串 second.c

预期输出是

    PRE first.c POST
    PRE temp.c POST
    临时文件
    一个.txt
    PRE second.c POST
    前第三个.c POST

实际输出是

    PRE first.c POST
    PRE temp.c POST
    临时文件
    一个.txt
    PRE sc POSTond
    前第三个.c POST

其治疗..c任何字符。但我保留它来准确解析.c。我\之前尝试过使用.c也喜欢<regexp pattern="(.+)\.c">。但这也无济于事。

请为我提供一个解决方案来获得预期的输出。

注意:我在 windows xp 中使用 ant 1.7.0

regex string ant scripting

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

如何从另一个macrodef中调用Ant宏?

我有一个build.xml,从这里我调用一个宏:

<import file="macro_file.xml" />
<ant-macro message="Hello, World!" />
Run Code Online (Sandbox Code Playgroud)

我的macro_file.xml文件如下所示:

<macrodef name="ant-macro">
    <attributes name="message"/>
    <sequential>
        <echo message="@{message}" />
    </sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)

如何调用宏内的另一个ant-macro宏?

我尝试了以下方式,但它给出了一个错误.

<macrodef name="ant-macro">
    <attributes name="message"/>
    <second-macro messge="hi"/>
    <sequential>
        <echo message="@{message}" />
    </sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)

second-macro宏还在macro_file.xml文件中定义.

ant macrodef

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

如何将两个windows vc静态库合并为一个

我有一个两个静态库a.libb.lib(C语言),它是使用VC6(Visual Studio 6.0)生成的.

我想将这两个库合并到一个静态库中c.lib.如何在CLI模式下执行此操作?

我已经看到了*nix静态库合并.我想在CLI模式下使用VC6静态库做同样的事情.

c merge static-libraries visual-studio visual-c++

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

fgetc总是返回值1

有以下功能:

void readAndPrint(FILE * f) {
    int c;

    while(c = fgetc(f) != EOF) {
        printf("%d", c);
    }
}
Run Code Online (Sandbox Code Playgroud)

在main()体中我使用以下代码来使用上面的函数:

FILE * pFile;

pFile=fopen ("myfile.txt","r");

readAndPrint(pFile)
Run Code Online (Sandbox Code Playgroud)

;

无论我放入myfile.txt,程序都打印出来.例如,对于abc,打印出111.

我知道函数中的c应该声明为int以正确地将它与EOF进行比较.另外,我希望打印出来自文本文件中每个字符的ASCII集的int代码(97表示a,...).我无法弄清楚为什么它会打印出"那些"...你知道原因吗?先感谢您.

c printf eof getc fgetc

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

如何获取Internet Explorer支持的SSL/TLS密码列表

我们将开发一个SSL服务器,它支持IE 10和IE 11支持的所有密码.所以我开始在谷歌搜索IE支持的密码列表,但是我无法获得一个明确提到的单个用户文档IE支持的所有SSL密码.

是否有任何用户文档可在Internet上使用,或者有没有办法直接检查IE浏览器设置以获取支持的密码列表?

browser windows encryption ssl internet-explorer

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

Jekyll - 带有换行符的 Markdown 不会在 HTML 中呈现

Jekyll 3.0.1不呈现单个换行符(换行符)。它忽略它。令人惊讶的是,它正在按原样渲染双换行。我使用JekyllUbuntu 16.04。有人可以帮我解决这种行为吗?

输入

在此处输入图片说明

渲染

在此处输入图片说明

markdown jekyll

3
推荐指数
2
解决办法
3010
查看次数

如何在C中获取屏幕高度和宽度

我得到以下代码。

typedef struct _display {
int fd;         /* Network socket. */
Window root;        /* Root window id. */
int vnumber;        /* X protocol version number. */
int dtype;      /* X server display device type. */
int dplanes;        /* Number of display bit planes. */
int dcells;     /* Number of display color map cells. */
_QEvent *head, *tail;   /* Input event queue. */
int qlen;       /* Length of input event queue */
int request;        /* Id of last request. */
char …
Run Code Online (Sandbox Code Playgroud)

c xserver xorg

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

从64位机器中的C函数访问返回地址时出现分段错误

我有C代码(linux(x86_64)),有些像这样:

typedef struct 
{
   char k[32];
   int v;
}ABC;

ABC states[6] = {0};

ABC* get_abc()
{
   return &states[5];
}  
Run Code Online (Sandbox Code Playgroud)

在main()中:

int main()
{
  ABC *p = get_abc();
     .
     .
     .
  printf("%d\n", p->v); 
} 
Run Code Online (Sandbox Code Playgroud)

我在访问p-> v时在printf语句中遇到分段错误.我试图从gdb调试它,它说"无法访问内存".这里有一件重要的事情是,当我编译这段代码时,gcc会在ABC*p = get_abc()上向我发出警告; 我试图从整数转换指针.我的问题是我从get_abc()返回结构地址然后为什么编译器给我这样的警告?为什么编译器认为它是整数?我认为由于此警告我正在获得分段错误,因为整数不能保存x86_64中的内存地址.

任何帮助,将不胜感激.

c memory gcc pointers segmentation-fault

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

带阵列的简单C程序无法打印正确的输出

我写了这个令人难以置信的愚蠢的代码

#include <stdio.h>
main(){
    int new[10], i;
    for(i=1; i<=10; ++i){
            new[i] = 0;
            }

for(i=1;i<=10; ++i)
            {
                    printf("%d", new[i]);
            }
 }
Run Code Online (Sandbox Code Playgroud)

我在Xubuntu上使用GCC编译了这个,然后编写了./a.out.光标只是闪烁,导致无输出.尝试使用gdb进行调试时也是如此.它运行然后与闪烁的光标一起停留.

有帮助吗?

c gcc

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

具有条件的Bash单行while循环的语法

我在bash中循环使用单行无限,并尝试在条件循环时添加单行.下面我提到了我的命令,它给出了意想不到的结果(假设在2次迭代后停止,但它永远不会停止.并且它还将变量I视为可执行文件).

命令:

i=0; while [ $i -lt 2 ]; do echo "hi"; sleep 1; i = $i + 1; done
Run Code Online (Sandbox Code Playgroud)

输出:

hi
The program 'i' is currently not installed. To run 'i' please ....
hi 
The program 'i' is currently not installed. To run 'i' please ....
hi 
The program 'i' is currently not installed. To run 'i' please ....
...
...
Run Code Online (Sandbox Code Playgroud)

注意:我在Ubuntu 14.04上运行它

linux bash shell while-loop

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