我有几千个访问我网站的访问者的IP地址,我可以使用哪些工具将它们转换为lat/lng坐标?然后,我将能够在地图上显示数据,并使用过滤器收集进一步的人口统计数据.
这有点奇怪的问题.
我写了一个C函数.它的'喜欢'strchr/strrchr.它应该在c字符串中查找一个字符,但是向后移动,并返回指向它的指针.由于c字符串不是"空启动",它还需要第三个参数'count',表示它应该向后看的字符数.
/*
*s: Position from where to start looking for the desired character.
*c: Character to look for.
*count: Amount of tests to be done
*
* Returns NULL if c is not in (s-count,s)
* Returns a pointer to the occurrence of c in s.
*/
char* b_strchr(const char* s,int c,size_t count){
while (count-->0){
if (*s==c) return s;
s--;
}
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
我已经对它进行了一些测试,但是你看到它有什么缺陷吗?安全问题左右?任何增强功能?可以改进吗?更重要的是:这是一个坏主意吗?
一些用法.
char* string = "1234567890";
printf("c: %c\n",*b_strchr(string+9,'5',10));//prints 5
printf("c: %c\n",*b_strchr(string+6,'1',7));//prints 1
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery在ASP.NET MVC中使用Http Post进行Ajax调用.我希望能够传递一个价值词典.
我能想到的最接近的事情是传入一个多维的字符串数组,但实际传递给ActionResult方法的结果是一个包含"key/value"对的字符串连接的单维字符串数组.
例如,下面"values"数组中的第一项包含以下值:
"id,200"
Run Code Online (Sandbox Code Playgroud)
这是我的ActionResult方法的一个例子:
public ActionResult AddItems(string[] values)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
这是我如何从jQuery调用方法的示例:
$.post("/Controller/AddItems",
{
values: [
["id", "200"],
["FirstName", "Chris"],
["DynamicItem1", "Some Value"],
["DynamicItem2", "Some Other Value"]
]
},
function(data) { },
"json");
Run Code Online (Sandbox Code Playgroud)
有谁知道如何将一个Dictionary对象从jQuery传递给ActionResult方法而不是一个数组?
我真的想定义我的ActionResult像这样:
public ActionResult AddItems(Dictionary<string, object> values)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
更新:我尝试在值中传入一个逗号,它基本上只是使得无法使用字符串解析实际解析键/值对.
通过这个:
values: [
["id", "200,300"],
["FirstName", "Chris"]
]
Run Code Online (Sandbox Code Playgroud)
结果如下:
values[0] = "id,200,300";
values[1] = "FirstName,Chris";
Run Code Online (Sandbox Code Playgroud) 我有以下元素,指定size ="15".但是,具有size属性的渲染元素的宽度适合25个字符,如果maxlength更大,则可以容纳30个左右?Maxlength确实限制了字符数.
<input id="txtSearch" name="txtSearch" type="text" maxlength="25" size="15" />
Run Code Online (Sandbox Code Playgroud) 我想做这样的事情:
class Cls {
function fun($php) {
return 'The rain in Spain.';
}
}
$ar = array(1,2,3);
$instance = new Cls();
print_r(array_map('$instance->fun', $ar));
// ^ this won't work
但是array_map的第一个参数应该是函数的名称.我想避免在$ instance-> fun周围写一个包装函数,但看起来这似乎不太可能.真的吗?
LZ77的最小源长度(以字节为单位)是多少?任何人都可以建议一个小而快速的实时压缩技术(最好使用c源).我需要它来存储压缩文本和快速检索我的搜索引擎中的摘录生成.
感谢所有的响应,我使用D语言为这个项目,所以很难将LZO移植到D代码.所以我要使用LZ77或Predictor.再次感谢 :)
我想获取一个实体的ID字段名称(属性名称),是否可能?
用户user = new User(); //用户是一个实体
string idField = ??????? //user.UserId
我无法控制的表单是将数据POST到我的PHP脚本.表单包含以下行的复选框:
<input type="checkbox" value="val1" name="option"/>
<input type="checkbox" value="val2" name="option"/>
Run Code Online (Sandbox Code Playgroud)
如果我要编写表单的代码,我会写name="option[]"而不是name="option".但这不是我能做的改变.现在,如果选中了两个复选框,则只$_POST["option"]返回其中一个值.我如何在PHP中检索所有选定的值?
在我从十年的C++过渡到Ruby的过程中,我发现自己第二次猜测如何完成最简单的事情.鉴于下面的经典形状推导示例,我想知道这是否是"The Ruby Way".虽然我相信下面的代码没有任何本质上的错误,但我仍然觉得我没有充分利用Ruby的全部功能.
class Shape
def initialize
end
end
class TwoD < Shape
def initialize
super()
end
def area
return 0.0
end
end
class Square < TwoD
def initialize( side )
super()
@side = side
end
def area
return @side * @side
end
end
def shapeArea( twod )
puts twod.area
end
square = Square.new( 2 )
shapeArea( square ) # => 4
Run Code Online (Sandbox Code Playgroud)
这是实施"红宝石之路"吗?如果没有,你会如何实现这个?
好的,我有这个代码:
var room = [ { time: 0, people: 0 } ];
Run Code Online (Sandbox Code Playgroud)
然后:
time = 5;
for( var i in room ) {
if( room[i].time < time ){
spliceIndex = i + 1;
}
}
console.log(spliceIndex);
Run Code Online (Sandbox Code Playgroud)
控制台显示:01- 这意味着1连接在一起,这意味着它i是一个字符串,而不是预期的整数.将索引转换为整数修复了问题,但我敲了几个小时......我能解释为什么会发生这种情况吗?我在Firefox 3.5和Safari 4上得到了这个.
php ×3
.net ×1
actionresult ×1
ajax ×1
algorithm ×1
array-map ×1
arrays ×1
asp.net-mvc ×1
c ×1
c# ×1
checkbox ×1
compression ×1
html ×1
idioms ×1
indexing ×1
inheritance ×1
input ×1
ip-address ×1
javascript ×1
jquery ×1
loops ×1
methods ×1
post ×1
propertyinfo ×1
reflection ×1
ruby ×1
unsafe ×1