小编Jac*_*ack的帖子

在案例范围内限制开关情况

我试图在案例交换机中包含UTF-8标识符,但是我收到此错误:

错误:有399个案例,案件范围超过256个案件

D代码:

    switch(value)
    {
        case 'a': ..  case 'z':
        case 'A': ..  case 'Z':
        case 0xC0: .. case 0x24F:
Run Code Online (Sandbox Code Playgroud)

为什么编译器会施加这样的限制?为了达到最佳目的?我能克服它吗?

d case

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

通过手柄捕获窗口的屏幕

我试图只捕获桌面中的特定窗口,但是却得到了混合图像,窗口的一部分和桌面区域的一部分。

我想念什么?

这是我的代码:

RECT rect = new RECT();

if (!SetForegroundWindow(handle))
    throw new Win32Exception(Marshal.GetLastWin32Error());

if (!GetWindowRect(handle, out rect))
    throw new Win32Exception(Marshal.GetLastWin32Error());

Thread.Sleep(500);

Rectangle windowSize = rect.ToRectangle();
Bitmap target = new Bitmap(windowSize.Width, windowSize.Height);
using (Graphics g = Graphics.FromImage(target))
{
    g.CopyFromScreen(0, 0, 0, 0, new Size(windowSize.Width, windowSize.Height));
}

target.Save("foo.png", System.Drawing.Imaging.ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

c# windows screen-capture

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

为什么C的regexec()与这个模式不匹配,但是javascript的match()有效吗?

我有这种模式[-]{23}[ ]*Page[ ]*[0-9]*[-]{23}从字符串中提取页码,就像----------------------- Page 1-----------------------使用javascript正则表达式实现一样正常工作:

var s = "----------------------- Page 1-----------------------";
alert( s.match(/[-]{23}[ ]*Page[ ]*[0-9]*[-]{23}/) != null);
Run Code Online (Sandbox Code Playgroud)

match()function返回匹配的字符串值,或者null如果pattern与string不匹配.上面的代码显示true

我的C代码:

#include <assert.h>
#include <sys/types.h>
#include <regex.h>

//... 

regex_t reg;
regmatch_t match;
char * line = "----------------------- Page 1-----------------------";
regcomp(&reg,
          "[-]{23}[ ]*Page[ ]*[0-9]*[-]{23}",
          REG_ICASE /* Don't differentiate case */
    );

int r = regexec(&reg,
         line, /* line to match */
         1, /* size of captures */
         &match,
         0); 

if( r == 0) { printf("Match!"); …
Run Code Online (Sandbox Code Playgroud)

c regex

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

为什么*foo ++ =*++ foo可能未定义?

它应该将当前字符设置为下一个字符.例如:

while( *foo ) { 
 if(baa(*foo)) *foo++ = *++foo;
  foo++;
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

error: operation on ‘foo’ may be undefined [-Werror=sequence-point]
cc1: all warnings being treated as errors
Run Code Online (Sandbox Code Playgroud)

任何人都能解释为什么吗?那是无效的C语法?

c gcc pointers

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

如果使用-std = c1x,如何使用__STDC_VERSION__进行检查?

我知道对于C11,我可以测试#if(__STDC_VERSION >= 20112L).但对于-std=c1x

我应该测试什么宏和/或值?

什么是这个标准的命名法?或者是非正式的名字,如果有的话.我希望这很清楚.提前致谢.

c gcc4 c11

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

如何删除警告:从'int'转换为'char'可能会改变其值?

我有一个 char buf[3];数组,我需要把:buf[0] = ch这里ch是一个int.但编译器会发出以下警告:

从'int'转换为'char'可能会改变其值

我该如何删除?我试过演员unsigned char但没有运气.

c casting

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

使用Perl中的MyParser从HTML标记中获取内容

我有一个html如下:

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body bgcolor="white">

<h1>foo.c</h1>

<form method="post" action=""
        enctype="application/x-www-form-urlencoded">
  Compare this file to the similar file: 
  <select name="file2">

    <option value="...">...</option>


  </select>
  <input type="hidden" name="file1" value="foo.c" /><br>
  Show the results in this format: 
</form>
<hr>

<p>
<pre>
some code
</pre>
Run Code Online (Sandbox Code Playgroud)

我需要获取input name ='file'的值和HTML pre标签的内容.我不知道perl语言,通过谷歌搜索我写了这个小程序(我认为不是"优雅"):

#!/usr/bin/perl

package MyParser;
use base qw(HTML::Parser);

#Store the file name and contents obtaind from HTML Tags
my($filename, $file_contents); …
Run Code Online (Sandbox Code Playgroud)

perl html-parsing

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

为什么在可以离开编译器集时显式设置枚举值?

一般来说,我看到enum { A = 1, B = 2, C = 3, ... }有一些特殊的原因只是设置A值并将编译器的下一个值设置为前一个成员值+ 1,或者这个程序员尝试使代码更具可读性或类似的东西?

c enums

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

如何降低控制力

我有一个带有可变长度文本的标签,下面是一个progressBar.我想在该标签和progressBar之间保留一个空格,因此根据标签的文本(包装),应该按下progressBar,始终保持它们之间的空间.我该怎么办?我尝试了AutoSize = true,AutoSizeMode = GrowAndShrink但它没有改变任何东西.例:

 ---------------------------
|  for example the label's  |
|  text might be something  |
|  like this, with a lot of |
|  of text but the progress |
|  bar should be here       |
|                           |
| progressBar here          |
 ---------------------------
Run Code Online (Sandbox Code Playgroud)

例2:

 ---------------------------
|  small text               |
|                           |
| progressBar here          |
 ---------------------------
Run Code Online (Sandbox Code Playgroud)

c# label vertical-alignment winforms

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

我可以在PHP中传递类型作为参数吗?

我想传递(任何类型,不仅是PHP的基元)Type作为函数参数.更像是C++的模板.在PHP中有可能吗?虚代码:

function foo(T a)
{
   $output = new T();
   //do something.
}
Run Code Online (Sandbox Code Playgroud)

我尝试将类型名称作为字符串传递,然后使用settype()该类型的变量,但settype()只使用PHP的基元类型.我的目标实际上是将类类型作为参数传递.

php types

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

标签 统计

c ×5

c# ×2

c11 ×1

case ×1

casting ×1

d ×1

enums ×1

gcc ×1

gcc4 ×1

html-parsing ×1

label ×1

perl ×1

php ×1

pointers ×1

regex ×1

screen-capture ×1

types ×1

vertical-alignment ×1

windows ×1

winforms ×1