小编Aba*_*oub的帖子

无法将'byte'类型转换为'T'

我是C#的新手,所以我真的不知道如何制作它,但在C++中,我就是这样做的

template <typename T> writeInt(int location, T value){
    *(T*)&buffer[location] = value;
}
Run Code Online (Sandbox Code Playgroud)

在C#我试图做同样的事情

public void WriteInt<T>(int location,T value)
        {
            (T)buffer[location] = value;
        }
Run Code Online (Sandbox Code Playgroud)

但是我发现了这个错误,Cannot convert type 'byte' to 'T' 所以我该怎么办呢,谢谢

c# generics casting

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

关于循环的问题

while(thingA is true)
{
}
if(thingA is not true)
{
    make thingA true
    then back to looping
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如果循环是真的它将继续循环但如果不是我将通过其他代码使其成为真,之后我希望它再次循环.我可以这样做吗??

c++

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

我如何提供一个带载矢量参数的重载?

我如何提供一个带载矢量参数的重载?

void res(uint8_t* buffer, int len)
{
std::vector<uint8_t> buf( buffer, buffer + len ); 
// here i want to pass buf as uint8_t* to onther func
pack((uint8_t*)buf, len));// error 
}

IntelliSense: no suitable conversion function from "std::vector<uint8_t, std::allocator<uint8_t>>" to "uint8_t *" 
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

CreateProcess()错误

STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
memset(&pi, 0, sizeof(pi));
si.cb = sizeof(si);

LPCWSTR procName =(LPCWSTR)"D:\\test dir 1\\Calc.exe";
LPWSTR procArg   =(LPWSTR)"blacknull";

if(CreateProcess(procName,procArg,0,0,0,CREATE_DEFAULT_ERROR_MODE,0,0,&si,&pi))
{
    //do some work
}

printf( "CreateProcess failed (%d).\n", GetLastError());
     system("Pause");
Run Code Online (Sandbox Code Playgroud)

它不断抛出错误(2) - > The System cannot find the file specified.

我不知道出了什么问题.我也尝试在同一个Dir中使用"Calc.exe".但它不起作用.

c++ windows createprocess

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

C#中有MulDiv吗?

在那儿 MulDiv

WINBASEAPI
int
WINAPI
MulDiv(
    _In_ int nNumber,
    _In_ int nNumerator,
    _In_ int nDenominator
    );
Run Code Online (Sandbox Code Playgroud)

在C#或相当于它?

或者我应该实施它?

编辑:没有PInvoking !!

c#

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

警告:PDOStatement :: bindValue():SQLSTATE [HY093]:参数号无效:列/参数从1开始

我正在尝试制作如下query功能:

public function Query( $sql, $params = array() ) {
        $this->error = false;

        if ( $this->query = $this->pdo->prepare( $sql ) ) {
            for ( $i = 0, $size = count( $params ); $i < $size; $i ++ ) {
                echo $i;
                $this->query->bindValue( $i, $params[ $i ] );
            }

            if ( $this->query->execute() ) {
                echo 'suc';
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

并称之为:

$mysql->Query( "SELECT * FROM `client_info` WHERE `name` = ? AND `password`= ?", array(
    'test',
    'test'
) );
Run Code Online (Sandbox Code Playgroud)

结果是:

Warning: …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

为什么这段代码生成的随机数总是产生相同的数字?

可能重复:
如何在C++循环中生成不同的随机数?

在这段代码中:

int Randtest(int len)
{
    int test[100]={};
    for(int i=0;i<len;i++)
    {
        srand ( time(NULL) );
        cout <<(test[i]=rand()%10);
    }
}

int main()
{
 Randtest(8);
}
Run Code Online (Sandbox Code Playgroud)

输出将始终是一系列重复的数字,如2222222211111111.如何让它产生八个随机数?

c++ random

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

函数_main中未解析的外部符号"cSocket :: cSocket(void)"

#ifndef _ClientSocket_H_
#define _ClientSocket_H_

#include "Includes.h"
#include "LOGMSGs.h"

class cSocket
{
public:
    cSocket();
    bool Open();
    bool Listen(char *OnIP,int OnPort);
    void Send(char *MSG, int len);
    void Recv(char *MSG,int len);
    void Close();
protected:
    SOCKET  cSock;
    const int   SndBuf;
};

#endif


#include "ClientSocket.h"


bool cSocket::Open()
{
    WSADATA wsaData;
    int err;
    if((err =WSAStartup(0x202, &wsaData)) !=0)
    {
        Error("Init WSAStartup() failed[%d].", err);
        return false;
    }
    return true;
}

bool cSocket::Listen(char *OnIP,int OnPort)
{
    if(Open())
    {
        //Create the main socket
        cSock=socket(AF_INET, SOCK_STREAM, 0);
        if(cSock==INVALID_SOCKET)
        {
            int err …
Run Code Online (Sandbox Code Playgroud)

c++ linker constructor visual-c++

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

错误LNK2019:未解析的外部符号"public:__thiscall Server :: Server(class boost :: asio :: io_service&)

使用boost :: asio的以下代码将无法编译:

    #ifndef _SERVER_H_
    #define _SERVER_H_

    #include "Connection.h"

    class Server
    {
    public:
      Server(boost::asio::io_service& io_service);

    private:
      void start_accept();

      void handle_accept(Connection::pointer new_connection,const boost::system::error_code& error);


      boost::asio::ip::tcp::acceptor acceptor_;
    };

    #endif
    -------------------------------------------------------------------------------------------------
    #include "Server.h"

    Server::Server(boost::asio::io_service& io_service)
        : acceptor_(io_service, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), 9985)){
            start_accept();
    }

    void Server::start_accept(){

        Connection::pointer new_connection =
          Connection::create(acceptor_.io_service());

        acceptor_.async_accept(new_connection->socket(),
            boost::bind(&Server::handle_accept, this, new_connection,
              boost::asio::placeholders::error));
    }


    void Server::handle_accept(Connection::pointer new_connection,const boost::system::error_code& error){
        if (!error)
        {
          new_connection->start();
          start_accept();
        }
      }
--------------------------------------------------------------------------------------------------
#include <Server.h>
#include <iostream>


int main()
{
  try
  {
    boost::asio::io_service io_service;
    Server server1(io_service);
    io_service.run();
  }
  catch (std::exception& …
Run Code Online (Sandbox Code Playgroud)

c++ linker boost boost-asio visual-c++

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

ffmpeg获取所有声音设备(输入/输出)

我已经下载了ffmpegfor 的静态版本,Windows并尝试获取所有我搜索过的声音设备(输入/输出),并找到了此命令来检索音频设备,但是当我使用它时ffmpeg arecord -l,它显示了此错误

Unrecognized option 'l'.
Error splitting the argument list: Option not found
Run Code Online (Sandbox Code Playgroud)

这里缺少什么?

audio command-line ffmpeg device

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

使文本框的文本不可见

是否有可能一些如何使Text的的Textbox无形或隐藏,这样用户不能看到它,但它获得的来自用户的输入/键?

c# textbox winforms

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

我的boost asio async_read是否获得了比赛条件?

bool Connection::Receive(){
    std::vector<uint8_t> buf(1000);
    boost::asio::async_read(socket_,boost::asio::buffer(buf,1000),
            boost::bind(&Connection::handler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));

    int rcvlen=buf.size();
    ByteBuffer b((std::shared_ptr<uint8_t>)buf.data(),rcvlen);
    if(rcvlen <= 0){
        buf.clear();
        return false;
    }
    OnReceived(b);
    buf.clear();
    return true;
}
Run Code Online (Sandbox Code Playgroud)

该方法工作正常,但仅当我在其中创建断点时才有效。等待接收的时间是否有问题?没有断点,什么也收不到。

c++ boost race-condition boost-asio

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