小编use*_*966的帖子

循环时recv()函数如何工作?

我在 MSDN 中读到有关 send() 和 receive() 函数的内容,有一点我不确定我是否理解。

例如,如果我发送一个大小为 256 的缓冲区,并接收前 5 个字节,那么下次我调用 recv() 函数时,它将指向第 6 个字节并从那里获取数据?

例如 :

char buff[256];
memcpy(buff,"hello world",12);
send(sockfd, buffer, 100) //sending 100 bytes

//server side:
char buff[256];
recv(sockfd, buff, 5) // now buffer contains : "Hello"?
recv(socfd, buff,5) // now I ovveride the data and the buffer contains "World"?
Run Code Online (Sandbox Code Playgroud)

谢谢!

c sockets client-server recv server

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

如何使用GetFileVersionInfo函数?

我有这段代码 - 返回文件版本(到结构中),我使用 shell32.dll 作为示例,但有一些值我不理解它们的含义,并且希望得到解释。

这是代码:

void GetFileVersion( PCHAR pFilePath  ,PVERSION pRetVersion)
{
DWORD               dwSize              = 0;
BYTE                *pVersionInfo       = NULL;
VS_FIXEDFILEINFO    *pFileInfo          = NULL;
UINT                pLenFileInfo        = 0;


/*getting the file version info size */
dwSize = GetFileVersionInfoSize( pFilePath, NULL );
if ( dwSize == 0 )
{
    printf( "Error in GetFileVersionInfoSize: %d\n", GetLastError() );
    return;
}

pVersionInfo = new BYTE[ dwSize ]; /*allocation of space for the verison size */

if ( !GetFileVersionInfo( pFilePath, 0, dwSize, pVersionInfo ) …
Run Code Online (Sandbox Code Playgroud)

c++ versioning dll resources winapi

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

Python继承 - 如何继承类函数?

我是python的新手,在继承方面遇到了一些麻烦.

我有这堂课:

class A(object):
    def __init__(self, foo, bar):
        pass     
    def func1(self):
        op1()
        op2()
    def func2(self):
        pass
Run Code Online (Sandbox Code Playgroud)

我正在使用另一个覆盖它的类:

class B(A):
    def func2(self):
        # do something
Run Code Online (Sandbox Code Playgroud)

问题是我希望得到func1它的所有操作并添加例如,op3() 以便在使用这个类时我可以选择使用op1,op2或者op3.

我尝试过使用:

def func1(self):
    op3()
Run Code Online (Sandbox Code Playgroud)

但它只是让我选择op3没有op1op2.

我看到有"超级"选项,但我不确定我是否理解如何使用它.

python inheritance class

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

如何在java中调用super之前运行一个函数?

我有一个构造函数,它获取HashSet和HashMap.我需要在一个hashMAp上运行验证检查并将其与hashSet结合使用,因为'super'必须只接收一个hashSet.因为我得到以下错误,我无法找到方法:cannot reference this before supertype constructor

例:

public class A extends B {
  public A(HashSet<Obj> h1, HashMap<UID,Objects> m1) {
    super(new C (h1) ); //h1 should contain changes related to m1..
}
Run Code Online (Sandbox Code Playgroud)

我想做那样的事情:

public class A extends B {
      public A(HashSet<Obj> h1, HashMap<UID,Objects> m1) {
        runMyFunc(h1,m1);
        super(new C (h1) );
    }



 runMyFunc(HashSet<Obj> h1, HashMap<UID,Objects> m1){
      //do checks
      //more checks...
      // if something then h1.setUid(m1.get(0))... 
      return h1;
   }
Run Code Online (Sandbox Code Playgroud)

我想将构造函数转换为私有,然后像这样运行它:

public class A extends B {
  private A(HashSet<Obj> h1) {
    super(new C …
Run Code Online (Sandbox Code Playgroud)

java inheritance super

5
推荐指数
2
解决办法
238
查看次数

什么时候轮询比中断好?

我在看这张照片: 在此处输入图片说明

并且有 2 个关于它的问题: 1. 为了通过中断引用轮询,磁盘应该快多少?

我认为这是因为 ISR 和进程跳跃(使用中断时)-例如,使用快速 SSD 时轮询会更好,其中轮询比中断(ISR+ 调度程序)花费的时间更少。我错了吗?

第二个问题是:如果在我的第一个问题中我的磁盘比 SSD 慢,但仍然很快 - 有什么理由更喜欢轮询吗?

我想知道我将拥有大量 I/O 的事实 - 读取请求是否足以让我更喜欢轮询。

谢谢!

io operating-system interrupt polling

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

如何使用 java 8 流将 HashSet 合并为一个有限制的集合?

我有2个班级:

class A
{
 int x;
 String y;
}

class B
{
 int x;
}
Run Code Online (Sandbox Code Playgroud)

我的 2 个 hashSet 来自类型 A,我想hashSet在映射时将它们合并为类型 B 中的一个A.x to B.x

我认为的方法是迭代它们,创建新对象并只复制 Ax 的值想知道是否有一种使用 java 8 流的漂亮和更优雅的方法来做到这一点?

非常感谢

java hashset java-8 java-stream

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

如何限制C中的scanf函数在输入太长时打印错误?

我想限制scanf函数,所以当我输入例如一个char* array <String...>超过30个字符的时候,它就不会得到它而我的输出会出错.

我有一个暗示使用[^ n]或类似的东西,但我不明白该怎么做?我知道我可以使用,scanf("%30s"..)但我不希望输入有效,只是错误.

任何帮助都会很棒.

c string input scanf

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

如何使用Iron python加载DLL?

我使用C#编写了最简单的DLL并将其复制到桌面.现在我想加载DLL以便看到我可以使用API​​但是我遇到了一些错误:

我使用的代码:(在这里查看一些问题后编辑)

import clr
import sys
sys.path.Add("C:\Desktop\DLLTest.dll")
clr.AddReference("C:\Desktop\DLLTest.dll")
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  IOError: System.IO.IOException: Could not add reference to assembly DLLTest.dll
Run Code Online (Sandbox Code Playgroud)

什么需要添加到sys路径?为什么?谢谢!!!

.net python ironpython dllimport

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

如何在C中将树数据写入文件?

我在寻找类似的问题,但没有找到解决方案。我的结构类似于带有两个以上节点的树。我也有一个指向根的指针。

typedef struct tree
{
   char *name;
   struct tree *children
}TREE;
Run Code Online (Sandbox Code Playgroud)

我想将此数据写入文件,但只是感到困惑,所以希望获得一些帮助

我以为使用:

int writeData(TREE *root , char *filename){

    FILE *f = NULL;
    int numWritten = 0;

fopen_s(&f , filename, "w+" );
fwrite(root , sizeof(TREE) , ??? , f);
Run Code Online (Sandbox Code Playgroud)

}

我不知道该写些什么,怎么办?如果我在每个元素上都有孩子,那么我愿意把它们全部扔掉-我该怎么办?

c tree serialization fwrite data-structures

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

SQL-如何获取单元格的特定值?

第一次使用SQL时已经很困惑。我有一张桌子:

A  |  B
--------
a  | 6
b  | 10
c  | 12
Run Code Online (Sandbox Code Playgroud)

我想通过使用字符串比较来过滤它,但是得到第二列的值:

myNum = SELECT B WHERE A ='a'
Run Code Online (Sandbox Code Playgroud)

最后,我希望myNum的值为6。

只是无法正确解决...任何帮助将不胜感激!

mysql sql

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

Java - 字符串和数组引用

刚开始学习Java,发现字符串和数组都是引用类型.我不明白以下问题:

    String a = "a1";
    String b = "a2";
    a=b;
    a = "rrr";

    System.out.println(a);
    System.out.println(b);

    int[] arr1 = {1,2,3};
    int[] arr2 = arr1;
    arr2[0]= 19;
    System.out.println(arr1[0]);
Run Code Online (Sandbox Code Playgroud)

当我打印它时,我得到: "rrr" "a2" 10

当使用数组时 - 我知道它们都指向同一个对象,所以如果我改变单元格 - 我看到arr1和arr2的区别.

关于"字符串" - 根据我的理解,当我这样做时:a = b它不应该是:" a指向同一个对象,b指向" - 意思是如果我改变了它们,它们都需要被改变?

谢谢!!

java arrays string

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

如何将应用程序转换为内核模式运行代码?

我有C应用程序,可以确定我的笔记本电脑上何时打开电源.它仅在我打开此.exe文件时才有效

有没有办法让它在内核模式下工作?这意味着我不想运行.exe,只需打开笔记本电脑,并在电量不足时接收有关电源的消息.

这是我的.exe:

#include <windows.h>

const char g_szClassName[] = "myWindowClass";




 // Step 4: the Window Procedure
 LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
short x ;

SYSTEM_POWER_STATUS status; 


switch(msg)
{
case WM_CLOSE:
    DestroyWindow(hwnd);
    break;
case WM_DESTROY:
    PostQuitMessage(0);
    break;

case WM_POWERBROADCAST:
                switch (wParam)
                    {
                        case PBT_APMPOWERSTATUSCHANGE :
                            x = GetSystemPowerStatus(&status);
                            if (x > 0) // function succeeded
                                {
                                    if (status.ACLineStatus == 1)
                                    {
                                        printf("power is off");
                                        MessageBox(NULL, "power is on" , "NOTICE" ,MB_OK );
                                    }
                                    else if …
Run Code Online (Sandbox Code Playgroud)

c windows operating-system windows-kernel

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

c#如何在字符串中查找特定模式?

我有一个包含字母和数字的字符串.此字符串还包含我要提取的日期.

例如: anv749dld95hd01/01/2012ncjf739dkcju

我想获得包含以下内容的新字符串: 01/01/2012

我唯一想到的就是使用它来分割它:str.Split('/') 这样我将获得一个数组并处理每个单元格 - 获取第一个单元格的两个最后一个字符,获取第二个单元格的值,然后从中获取前4个字符第三个细胞.

有没有更好的方法呢?

c# string pattern-matching

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