小编Mil*_*ith的帖子

以合理,安全和有效的方式复制文件

我搜索一个复制文件(二进制或文本)的好方法.我写过几个样本,每个人都在工作.但我想听听经验丰富的程序员的意见.

我错过了很好的例子并搜索了一种适用于C++的方法.

ANSI-C-WAY

#include <iostream>
#include <cstdio>    // fopen, fclose, fread, fwrite, BUFSIZ
#include <ctime>
using namespace std;

int main() {
    clock_t start, end;
    start = clock();

    // BUFSIZE default is 8192 bytes
    // BUFSIZE of 1 means one chareter at time
    // good values should fit to blocksize, like 1024 or 4096
    // higher values reduce number of system calls
    // size_t BUFFER_SIZE = 4096;

    char buf[BUFSIZ];
    size_t size;

    FILE* source = fopen("from.ogv", "rb");
    FILE* dest = fopen("to.ogv", "wb"); …
Run Code Online (Sandbox Code Playgroud)

c++ file-io

292
推荐指数
4
解决办法
18万
查看次数

Tesseract之外还有哪些OCR选项?

我已经使用了Tesseract,结果还有很多不足之处.我目前正在检测非常小的图像(35x15,没有边框,但尝试添加一个带有imagemagick而没有ocr优势); 它们的范围从2个字符到5个,并且是一个非常可靠的字体,但是字符可变,只需使用图像大小校验和,或者这样就不起作用了.

除了坚持使用Tesseract或对其进行完整的定制培训外,OCR还有哪些选择? 此外,如果这与Heroku样式托管兼容将是非常有用的(至少我可以编译垃圾箱并将其推过).

php ruby python ocr tesseract

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

在实体框架中处置对象上下文4

我有一个实体类,它是从我的数据库模型自动生成的.这个类继承了ObjectContext,它继承了IDisposable.

我创建了一个存储库,其中包含各种方法,这些方法使用实体对象的单个实例与数据库进行交互.

自动生成的类

public partial class DevEntities : ObjectContext
{
    public const string ConnectionString = "name=DevEntities";
    public const string ContainerName = "DevEntities";
Run Code Online (Sandbox Code Playgroud)

存储库类

DevEntities db = new DevEntities();

        public Customer GetCustomerByID(int id)
    {
        var customers = db.Customers.FirstOrDefault(c => c.CustomerId == id);

        return customers;
    }

    public Customer GetCustomerByPasswordUsername(string email, string password)
    {
        var customers = db.Customers.FirstOrDefault(c => c.Email == email && c.Password == password);

        return customers;
    }
Run Code Online (Sandbox Code Playgroud)

从中您可以看到我对db实例进行了多次引用.我的问题是,我最好在每个方法中实例化一个新的DevEntity,从而能够实现using语句,从而确保正确处理,或者我当前的实现是否正常?

c# idisposable repository-pattern entity-framework-4

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

从char字面到char*的警告

我在Visual Studio中找不到以下警告.我打开/ Wall但仍然一无所获:

const char * pointer = '\0';
Run Code Online (Sandbox Code Playgroud)

gcc不会为C++ 11,C++ 14或C++ 17编译它:

[x86-64 gcc 7.2#1]错误:从'char'到'const char*'的无效转换[-fpermissive]

如果我通过,gcc将使用上面的代码作为警告进行编译-fpermissive:

[x86-64 gcc 7.2#1]警告:从'char'到'const char*'的无效转换[-fpermissive]

clang不会为C++ 11,C++ 14或C++ 17编译:

[x86-64 clang 5.0.0#1]错误:无法使用'char'类型的右值初始化'const char*'类型的变量

我问,因为下面的代码最终出现在我们的代码库中,显然没有警告:

std::ofstream file;
//...
file.write('\0', 20);
Run Code Online (Sandbox Code Playgroud)

有没有办法在Visual Studio中打开此警告?

c++ compiler-warnings visual-studio

5
推荐指数
1
解决办法
245
查看次数

Lisp代码没有响应

剧透警报:这是Euler项目第7号的答案.

我正在学习Lisp而我正在使用compileonline.com来运行我的代码.虽然在一个简单的程序上内存不足,所以我切换到桌面版本.但是,即使这样也会耗尽内存.有人能告诉我为什么这么糟糕吗?

在它当前的形式它不会挂起,但如果我将其更改为:

(if (= primecount 10001) 
Run Code Online (Sandbox Code Playgroud)

它挂了.即使是小到1000的东西也会挂起.

(setq current 3)
(setq primecount 1)
(setq primes (list 2))
(setq isprime "yes")

(loop for x from current do
  (list 
    (setq isprime "yes")
    (loop 
      for prime in primes do 
        (if (= (mod current prime) 0) 
          (list (setq isprime nil) (return)) 
          nil
        )
    )
    (if isprime 
      (list 
        (setq primecount (+ primecount 1)) 
        (setq primes (cons current primes)) 
        (if (= primecount 100) 
          (return) 
          nil
        )
      )
      (setq current (+ current 1))
    ) …
Run Code Online (Sandbox Code Playgroud)

lisp primes clisp common-lisp

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

为什么函数不能使用其确切的名称来调用?

我发现在头文件"gobjects.h"中声明了这样的跟随函数:

(它来自斯坦福便携式图书馆.整个图书馆的源代码和头文件可以在这里找到:https://github.com/cs50/spl/tree/master/c)

/*
 * Function: getWidth
 * Usage: width = getWidth(gobj);
 * ------------------------------
 * Returns the width of this object, which is defined to be the width of
 * the bounding box.
 */

double getWidthGObject(GObject gobj);
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是函数的名称是getWidthGObject,但在注释块中它指定了用法,就像名称一样getWidth.当我在自己的代码中调用此函数时,似乎两个名称都可以正常工作.只是为了澄清getWidth这个头文件中没有另一个名为声明的函数.

所以,我的问题是,为什么我们可以用两个不同的名称来调用这个函数,而其中较短的一个似乎从未被定义过?

c function

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

如何在标签文字中显示计数?

我很难将我的计数代码显示在我的标签文本中.这是我的代码,请告诉我如何解决这个问题.

ordering_and_billing.dBase dBase = new ordering_and_billing.dBase();
var mydbconnection = new dBase.dbconnection();

string sql = "SELECT * FROM `order` WHERE eventdate='" + lbldte.Text + "'";

MySqlCommand cmd = new MySqlCommand(sql, mydbconnection.Connection);
mydbconnection.Connection.Open();
MySqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
    while (rdr.Read())
    {
        Int32 count = (Int32)cmd.ExecuteScalar();
        string disp = count.ToString();
        lblcount.Text = disp;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# mysql

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

DateTime过期检查

我正在尝试构建一个扩展程序,用于检查特定日期是否已过期(与今天的日期相比).

示例:DateTime.Now是: 10/26/2013 11:34:59 AM

如果特定日期时间是:10/22/2013 11:34:59 AM则返回true(已过期)

如果特定日期时间10/28/2013 11:34:59 AM则返回false(未过期)

这是一个正确的方法吗?(比较时间也因为我不需要日期)

public static bool IsExpired(this string specificDate)
{
   bool flag = false;
   DateTime currentDate = DateTime.Now;

   DateTime target;

   if (DateTime.tryParse(specificDate, out target)
   {
     flag = target < currentDate;          
   }

   return flag;     
}
Run Code Online (Sandbox Code Playgroud)

c# datetime

0
推荐指数
1
解决办法
5852
查看次数