小编tmi*_*hty的帖子

C++寻求使用CreateFile而不是fopen

我想用HANDLE = CreateFile()交换FILE*以测试速度差异.

我正在尝试更改我的代码.

有人可以告诉我如何更改这两行以反映我现在处理的是句柄而不是文件*了吗?

fseek(myFile,iBytePos,SEEK_SET);
fread(&SomeValues[0],iByteCount,1,myFile);
Run Code Online (Sandbox Code Playgroud)

我试过了

LARGE_INTEGER l;

l.QuadPart=iBytePos;
SetFilePointer(myFile,l.LowPart,&l.HighPart,FILE_BEGIN);

DWORD dw;
BOOL result = ReadFile(myFile,&SomeValues[0],iByteCount,&dw,NULL);
Run Code Online (Sandbox Code Playgroud)

但有些事情是不正确的.我肯定在某个地方出了问题.

非常感谢你的帮助!

c++ windows fopen fseek fread

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

C++代码优化

我创建了自定义函数将wstring转换为小写.但是,它在DebugMode中相当慢.是的,我知道ReleaseMode是重要的,但无论如何它是非常令人不安的.

wstring wstringToLower(wstring u)
{
    wstring s;

    for (int i=0;i<u.size();i++)
    {
        wstring sChar;
        sChar=u.substr(i,1);

        int iChar=static_cast<int>(sChar[0]);

        int iNewChar=charCodeToLower(iChar);

        wstring sNewChar=wstring(1,iNewChar);

        s.append(sNewChar);
    }

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

有没有人看到任何明显可以改进以加速代码的东西,即使在DebugMode中也是如此?

谢谢!

c++ optimization performance

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

C++无法识别的转义序列

我想创建一个包含所有可能的特殊字符的字符串.

但是,编译器在此行中给出了警告"无法识别的转义序列":

wstring s=L".,;*:-_?#‘?‡…–«»¤¤¡=„+-¶~´:?\¯/??!¡-¢–”¥—†¿»¤{}«[-]()·^°$§%&«|?<´>²³£­€™?@©®~µ´`'" + wstring(1,34);
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我,我可能没有按照我的方式添加哪个字符?

非常感谢你!

c++ unicode unicode-escapes

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

VB.NET跟踪COM RCW错误

我有一个非常大的项目,我不能轻易删除.

当应用程序关闭时,我收到错误

"InvalidComObjectException: A COM object that has been disconnected from the RCW can not be used."
Run Code Online (Sandbox Code Playgroud)

细节:

System.Runtime.InteropServices.InvalidComObjectException has occured.
  HResult=-2146233049
  Message=A COM object that has been disconnected from its RCW can not be used.
  Source=mscorlib
  StackTrace:
       at System.StubHelpers.StubHelpers.StubRegisterRCW(Object pThis)
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法看到这是什么COM对象.有谁知道我怎么能找到它?不幸的是,我无法阅读ASM来分析反汇编.

vb.net com rcw

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

SQLite滥用聚合:SUM()

请问这个SQL命令有什么问题?

"SELECT DISTINCT email_to FROM emails WHERE email_box='SENT' ORDER BY SUM(email_to)"
Run Code Online (Sandbox Code Playgroud)

我有一张桌子"电子邮件".其中两个字段是"email_to"(包含电子邮件收件人地址字符串)和"email_box",如果电子邮件存储在"INBOX","OUTBOX"或"SENT"中,它们会显示.

我现在想得到所有的"email_to",按照他们在桌子上出现的频率排序.

我不知道为什么我会收到"滥用聚合"错误.我还想问一下如何修复它.

sql sqlite

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

CultureInfo:he-IL 和 he 之间的区别

我想知道语言代码“he-IL”和“he”之间的区别是什么。谢谢您提供任何信息!

.net cultureinfo

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

另一个矩形中的中心矩形

我还没有能够建立一个真正可靠的代码来将一个矩形放在另一个矩形中。

我想让“RectangleToCenter”的中心点与“SourceRectangle”的中心点匹配。不应该涉及缩放。

我目前的尝试是

Public Sub CenterRect(ByVal uMain As Rectangle, ByRef uRectToCenter As Rectangle)

    Dim iAVHeightHalf As Integer = uMain.Height / 2 'src y center
    Dim iAVWidthHalf As Integer = uMain.Width / 2 'src x center

    Dim iStartDestX As Integer = uMain.Left + (uRectToCenter.Width / 2) - iAVWidthHalf
    Dim iStartDestY As Integer = uMain.Top + (uRectToCenter.Height / 2) - iAVHeightHalf

    Dim nNewStart As New Point(iStartDestX, iStartDestY)

    uRectToCenter.Location = nNewStart

End Sub
Run Code Online (Sandbox Code Playgroud)

但对我来说它看起来并不干净。

.net vb.net drawing rectangles

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

添加4个字节值会导致溢出异常

以下代码引发System.OverflowException

    Dim b1 As Byte = 13
    Dim b2 As Byte = 26
    Dim b3 As Byte = 125
    Dim b4 As Byte = 225

    Dim i As Integer = (b1 + b2 + b3 + b4) \ 2
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

vb.net visual-studio-2017

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

使用Windows拖动复制光标

我可以这样设置光标:

Me.Cursor = Cursors.Cross
Run Code Online (Sandbox Code Playgroud)

使用IntelliSense,我找不到此“复制”光标:

复制光标

有什么办法可以通过托管的方式获得它吗?我不想加载位图左右。我想把它留给Windows,因为用户可能已经更改了光标大小或设置了不同的颜色模式。

.net c# winforms

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

C#下划线作为VB.NET的参数

我有以下要转换为VB.NET的C#代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System;
using OpenCvSharp;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string sPath = "c:\\users\\myuser\\desktop\\lenna.png";

            using (var src = new Mat(sPath, ImreadModes.Color))
            using (var srcGray = new Mat(sPath, ImreadModes.GrayScale))
            using (var hsv = new Mat())
            using (var dst = new Mat())
            {
                Cv2.CvtColor(src, hsv, ColorConversionCodes.BGR2HSV);
                Cv2.CvtColor(srcGray, …
Run Code Online (Sandbox Code Playgroud)

c# vb.net arguments

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