问题列表 - 第32625页

使用openssl正确获取文件的sha-1

我正在尝试为一些文件获取sha-1.我目前所做的是循环给定路径中的文件,分别打开和读取每个文件,并将内容加载到缓冲区中,然后将其发送到openssl的SHA函数以获取哈希值.代码看起来像这样:

    void ReadHashFile(LPCTSTR name)
{
 FILE * pFile;
 long lSize;
 char * buffer;
 size_t result;

 pFile = _tfopen ( name , L"rb" );
 if (pFile==NULL) {fputs ("File error",stderr); return;}

 // obtain file size:
 fseek (pFile , 0 , SEEK_END);
 lSize = ftell (pFile);
 rewind (pFile);

 if(lSize == -1){fputs ("Read Error",stderr);return;}

 // allocate memory to contain the whole file:
 buffer = (char*) malloc (sizeof(char)*lSize);
 if (buffer == NULL) {fputs ("Memory error",stderr); return;}

 // copy the file into the buffer:
 result = …
Run Code Online (Sandbox Code Playgroud)

c++ windows openssl cryptography file

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

将MSAccess数据库转换为SQL Server数据库

我想知道是否有一种方法可以将MSAccess数据库转换为SQL Server数据库,而无需从头开始.

database sql-server ms-access-2010

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

240
推荐指数
4
解决办法
21万
查看次数

禁用时,避免使UIButton透明/透明

我想禁用我的UIButton,所以我打电话给:

button.enabled = FALSE;
Run Code Online (Sandbox Code Playgroud)

然而,这使按钮透视,我可以看到它下面的元素.我不介意它改变颜色,我只是不希望它是透明的.

我已经尝试在IB中勾选"不透明"和"剪辑子视图"的方框,但没有快乐.

有没有一种简单的方法来解决这个问题?我想我可以在UIImageView后面放一个相同的按钮图像,但这不是一个优雅的解决方案.

谢谢大家!!

迈克尔

iphone objective-c transparent uibutton

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

PDO_ODBC的字符编码问题

使用带有以下代码的PDO_ODBC从PHP访问Microsoft SQL数据库时,我遇到了编码问题.当输出时,DB中的文本出现乱码.

$dsn = "odbc:DRIVER={SQL Server};SERVER=$hostname;DATABASE=$database;charset=UTF-8";
$pdo = new PDO($dsn,$username,$password);
$sql = "SELECT text FROM atable";
$result = $PDO->query($sql);
while($data = $result->fetchObject()){
  $values[] = $data->text; 
}
dpm($values);
Run Code Online (Sandbox Code Playgroud)

乱码输出http://image.bayimg.com/naomcaacd.jpg

这是从Drupal模块完成的.Drupal中的所有内容都与UTF-8一起使用.最干净的解决方案是能够以UTF-8从数据库中检索数据,或者在输出之前将其转换为UTF-8.

我没有成功地试过这些

  • $dsn = "odbc:DRIVER={SQL Server};SERVER=$hostname;DATABASE=$database;client_charset=utf-8"
  • $dsn = "odbc:DRIVER={SQL Server};SERVER=$hostname;DATABASE=$database;charset=utf-8"
  • $pdo->exec('SET NAMES utf8')new PDO(...)
  • $pdo->exec('SET CHARACTER SET utf8');new PDO(...)

PS:代码目前是在Windows上开发的,但它也必须在GNU/Linux上运行.

php odbc pdo drupal

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

是否有一种智能方法可以在编译时知道要链接到的库的名称?(Linux的/ Kubuntu的)

请多多包涵.我真的想知道,因为我对答案感到好奇:

是否有一种智能方法可以在编译时知道要链接到的库的名称?

请允许我举一个例子,说明我的问题的原因.

我是C++新手.我正在学习编译,链接和像boost这样的库.我刚刚发现了boost/filesystem并想尝试一下.遇到麻烦编译后,我使用了以下极简主义代码:


// file boost_example.cpp
 #include "boost/filesystem.hpp"
#include <iostream>

int main() { std::cout<<"Hello"; return 0; }

我试图编译它,但作为一个新手,我犯了一个新手错误:我忘了链接到正确的库!

     g++ boost_example.cpp -o run
Run Code Online (Sandbox Code Playgroud)
确切地说,我遇到了本书这一章中解释的问题.
我知道我已经安装了升级版(我被告知安装它来编译另一个项目).我试图从其他项目的Makefile中复制,但以下不起作用:
     g++ boost_example.cpp -o run -lbooster
     g++ boost_example.cpp -o run -lboost
尝试从代码中的#include行做出有根据的猜测,我尝试了以下无效:
     g++ boost_example.cpp -o run -lboost_filesystem
到那时,我已经开始了疯狂地搜索网页.我讨厌搜索引擎,因为大多数时候,你找不到你正在寻找的东西.我找到了以下内容,但他们没有帮助,只是浪费我的时间:
在kubuntu C++/Boost链接器错误下提升库链接问题

由于我是一名RTFM人,我实际上已经检查了我想要使用的库的官方文档:http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/index.htm但是我没有找到任何编译信息.

在某个阶段,我受到启发,检查我在系统上实际安装的内容:

$ locate boost_file
/usr/lib/libboost_filesystem-mt.a
/usr/lib/libboost_filesystem-mt.so
/usr/lib/libboost_filesystem-mt.so.1.38.0
Run Code Online (Sandbox Code Playgroud) 因此,我找到了要链接的库的正确名称.以下工作:
     g++ boost_example.cpp -o run -lboost_filesystem-mt

现在,除了使用(可能)智能猜测工作和搜索网络之外,是否有更智能的方法来查找要链接的库的名称?我永远不会猜到boost_filesystem-mt给出标题的库名"boost/filesystem.hpp".

更糟糕的是:官方网站上没有提到boost_filesystem-mt!(我猜这是依赖于发行/包装).

再一次,在提出问题之前,我总是提出RTFM,我找到了上述书中的这一章,所以我在/ usr/lib /上查看了我在系统上可以找到的内容:

$ ls …

c++ compilation linked-list libraries

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

哪个Postgres数据库文件保存在ubuntu中?

如何在Ubuntu 10.04文件系统中找到保存Postgres 8.x数据库文件的位置?

postgresql ubuntu

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

Gemfile组用于?

我知道"group"方法用于指定特定环境的gem.

group :development, :test do
  gem "rspec-rails", ">= 2.0.0.beta.19"
  gem "cucumber-rails", ">= 0.3.2"
  gem "webrat", ">= 0.7.2.beta.1"
end
Run Code Online (Sandbox Code Playgroud)

但我不明白这意味着什么.那么这些只能在开发和测试环境中使用?

但是它会安装在生产中吗?

ruby-on-rails

7
推荐指数
1
解决办法
4178
查看次数

使用GCC的内联汇编直接调用

如果要从内联汇编中调用C/C++函数,可以执行以下操作:

void callee() {}
void caller()
{
    asm("call *%0" : : "r"(callee));
}
Run Code Online (Sandbox Code Playgroud)

然后GCC将发出如下所示的代码:

movl $callee, %eax
call *%eax
Run Code Online (Sandbox Code Playgroud)

这可能会有问题,因为间接调用会破坏旧CPU上的管道.

由于地址callee最终是常量,可以想象可以使用i约束.引自GCC在线文档:

'我"

允许使用立即整数操作数(具有常量值的操作数).这包括符号常量,其值仅在汇编时或以后知道.

如果我尝试这样使用它:

asm("call %0" : : "i"(callee));
Run Code Online (Sandbox Code Playgroud)

我从汇编程序中收到以下错误:

错误:后缀或操作数对`call'无效

这是因为GCC会发出代码

call $callee
Run Code Online (Sandbox Code Playgroud)

代替

call callee
Run Code Online (Sandbox Code Playgroud)

所以我的问题是是否可以使GCC输出正确call.

c c++ gcc inline-assembly function-call

11
推荐指数
1
解决办法
9852
查看次数

从 lxml xpath 查询操作列表

今天我尝试了 lxml,因为我从特定的 web 服务中得到了非常讨厌的 html 输出,我不想使用 re 模块,只是为了改变和学习新的东西。我做到了,并行浏览http://codespeak.net/lxml/http://stackoverflow.com

我不会试图解释上面的 html 模板,但只是为了概述它充满了故意嵌套的表格。

我用 html 解析器提取了感兴趣的部分,然后 find_class() 并用 xpath 遍历 TR(甚至这个 TR 里面都有表)。现在我正在尝试根据 class 和 id 属性提取数据对:

  • 名字孩子有类“标题”
  • 价值孩子有id“文本”

代码如下所示:

fragment = root.find_class('foo')

for node in fragment[0].xpath('table[2]/tr'):
    name = node.xpath('//div[@id="title"]')
    value = node.xpath('//td[@class="text"]')
Run Code Online (Sandbox Code Playgroud)

问题是并非我迭代的每个 TR 都有这些对:有些只有名称(id“title”),所以稍后当我尝试压缩它们时,我得到了错误的配对数据。

我尝试了几件事,但没有成功:我尝试比较列表长度(名称和值),如果它们不匹配跳过名称查找,那么如果它们不匹配,则删除最后一个列表项(在很多方面)但没有任何效果。例如:

if not len(name) == len(value):
    name.pop()
Run Code Online (Sandbox Code Playgroud)

或者

if len(name) == len(value):
    name = node.xpath('//div[@id="title"]')

value = node.xpath('//td[@class="text"]')
Run Code Online (Sandbox Code Playgroud)

一些经验丰富的评论?

python xpath lxml

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