小编pb2*_*b2q的帖子

我如何可移植地调用C++函数,该函数在某些平台上采用char**而在其他平台上采用const char**?

在我的Linux(和OS X)机器上,该iconv()函数具有以下原型:

size_t iconv (iconv_t, char **inbuf...
Run Code Online (Sandbox Code Playgroud)

而在FreeBSD上它看起来像这样:

size_t iconv (iconv_t, const char **inbuf...
Run Code Online (Sandbox Code Playgroud)

我希望我的C++代码能够在两个平台上构建.C编译器,传递char**用于一个const char**参数(或反之亦然)通常发射一个单纯的警告; 但是在C++中,这是一个致命的错误.因此,如果我传递一个char**,它将无法在BSD上编译,如果我传递const char**它将无法在Linux/OS X上编译.如何编写可编译在两者上的代码,而无需尝试检测平台?

我有一个(失败的)想法是提供一个覆盖标题提供的任何本地原型:

void myfunc(void) {
    size_t iconv (iconv_t, char **inbuf);
    iconv(foo, ptr);
}
Run Code Online (Sandbox Code Playgroud)

这个失败是因为iconv需要C链接,你不能放在extern "C"一个函数内(为什么不呢?)

我想出的最好的工作思路是抛出函数指针本身:

typedef void (*func_t)(iconv_t, const char **);
((func_t)(iconv))(foo, ptr);
Run Code Online (Sandbox Code Playgroud)

但这有可能掩盖其他更严重的错误.

c++ portability const

91
推荐指数
4
解决办法
5369
查看次数

输入类型按钮 - 标签与值

我认为像下面这样的按钮的正常行为是该value属性也用作标签:

<input type="submit" name="submitButton" value="DeleteAnswer22" />
Run Code Online (Sandbox Code Playgroud)

是否可以为显示标签和值设置单独的属性?

html

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

覆盖ASP.NET MVC中的授权属性

我有一个MVC控制器基类,我在其上应用了Authorize属性,因为我希望几乎所有控制器(及其操作)都被授权.

但是我需要一个控制器和另一个控制器的动作未经授权.我希望能够用[Authorize(false)]或其他东西来装饰它们,但这是不可用的.

有任何想法吗?

.net security authentication asp.net-mvc authorize

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

"流"和"缓冲区"究竟在Java I/O中意味着什么?

我刚刚学习了输入/输出BufferedReader.

我想知道究竟是什么术语的含义StreamBuffer

这行代码还为我们提供了什么:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Run Code Online (Sandbox Code Playgroud)

java buffer bufferedreader

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

在jQuery事件中控制'this'的值

我使用jQuery创建了一个'control',并使用jQuery.extend来帮助尽可能地将其作为OO.

在我的控件初始化期间,我连接各种点击事件,如此

jQuery('#available input', 
            this.controlDiv).bind('click', this, this.availableCategoryClick);
Run Code Online (Sandbox Code Playgroud)

请注意,我将'this'作为bind方法中的data参数.我这样做是为了让我可以获取附加到控件实例的数据而不是触发click事件的元素.

这很好用,但我怀疑有更好的方法

在过去使用过Prototype之后,我记得一个绑定语法,它允许你控制事件中'this'的值.

什么是jQuery方式?

jquery scope this

72
推荐指数
5
解决办法
7万
查看次数

如何使用Newtonsoft JSON.NET将JSON反序列化为IEnumerable <BaseType>

鉴于此JSON:

[
  {
    "$id": "1",
    "$type": "MyAssembly.ClassA, MyAssembly",
    "Email": "me@here.com",
  },
  {
    "$id": "2",
    "$type": "MyAssembly.ClassB, MyAssembly",
    "Email": "me@here.com",
  }
]
Run Code Online (Sandbox Code Playgroud)

和这些类:

public abstract class BaseClass
{
    public string Email;
}
public class ClassA : BaseClass
{
}
public class ClassB : BaseClass
{
}
Run Code Online (Sandbox Code Playgroud)

如何将JSON反序列化为:

IEnumerable<BaseClass> deserialized;
Run Code Online (Sandbox Code Playgroud)

我不能使用,JsonConvert.Deserialize<IEnumerable<BaseClass>>()因为它抱怨BaseClass是抽象的.

c# json.net

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

如何在vi搜索和替换中包含正斜杠

我有一个包含字符串的文件usrbin.我想搜索usrbin并替换它/usr/bin/.

我试过:%s/usrbin/usr/bin/g,但它显示错误E488: Trailing characters.

如何在搜索和替换中包含正斜杠?

vi vim search replace

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

如何将NLog内容输出到vs2008'输出'窗口?

我正在使用NLog记录我的东西.我正在尝试将输出发送到控制台(或colouredconsole)...我希望将其转到任何ASP.NET网站/ app/mvc应用程序的Visual Studio'OUTPUT'窗口.

不是.如果我将目标更改为"文件",那么它肯定会起作用.

NLog可以输出到网络应用的"输出"窗口吗?

asp.net nlog

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

使用node.js发送/接收基本Ajax

所以我试图创建一个非常基本的node.js服务器,它接受一个字符串请求,从一个数组中随机选择一个并返回所选的字符串.不幸的是我遇到了一些问题.

这是前端:

function newGame()
{
   guessCnt=0;
   guess="";
   server();
   displayHash();
   displayGuessStr();
   displayGuessCnt();
}

function server()
{
   xmlhttp = new XMLHttpRequest();

   xmlhttp.open("GET","server.js", true);
   xmlhttp.send();

   string=xmlhttp.responseText;
}
Run Code Online (Sandbox Code Playgroud)

这应该将请求发送到server.js:

var http = require('http');

var choices=["hello world", "goodbye world"];

console.log("server initialized");

http.createServer(function(request, response)
{
    console.log("request recieved");
    var string = choices[Math.floor(Math.random()*choices.length)];
    console.log("string '" + string + "' chosen");
    response.on(string);
    console.log("string sent");
}).listen(8001);
Run Code Online (Sandbox Code Playgroud)

很明显,这里有几个问题:

  1. 我感觉我"连接"这两个文件的xmlhttp.open方式在方法和使用response.on将字符串发送回前端都不正确.

  2. 我对如何在localhost上调用此页面感到困惑.前端名为index.html,服务器发布到8001.在初始化server.js后,我应该在localhost上访问初始html页面的地址是什么?我应该改为.listen(index.html)或类似吗?

  3. 我是如何实现这个(使用.responsetext等)有其他明显的问题吗?

(对于长篇多问题帖子感到抱歉,但各种教程和node.js源都假设用户已经了解了这些内容.)

javascript ajax node.js

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

检查字符串是否以某种模式结束

如果我有一个像这样的字符串:

This.is.a.great.place.too.work.
Run Code Online (Sandbox Code Playgroud)

要么:

This/is/a/great/place/too/work/
Run Code Online (Sandbox Code Playgroud)

比我的程序应该给我的句子是有效的,它有"工作".

如果我有 :

This.is.a.great.place.too.work.hahahha
Run Code Online (Sandbox Code Playgroud)

要么:

This/is/a/great/place/too/work/hahahah
Run Code Online (Sandbox Code Playgroud)

然后我的程序不应该告诉我句子中有"工作".

所以我正在查看java字符串,以便在序列结束时找到一个单词.,或,/之前.我怎样才能做到这一点?

java regex string pattern-matching

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