小编RBe*_*eig的帖子

C++ String to double解析异常?

在java中,如果我想创建一些可以接收双打和字符串作为适当输入的应用程序,我可能会执行以下操作:

String input = getInput();//
try { 
    double foo = Double.valueOf(input);
    //Do stuff with foo here 
} catch (NumberFormatException e) { 
    //Do other validation with input
} 
Run Code Online (Sandbox Code Playgroud)

你会如何在c ++中做到这一点?atof()对于无效输入返回0.0,但是如何将其与"0.0"的有效双精度区分开来?顺便说一句,我只能包括<iostream>,<string>,<cstdlib>,和<cassert>在这个项目.我假设我需要以cin某种方式使用,但是如果在cin将一些字符串解析为double 之后如何才能获取原始输入?

编辑:我可能会使用以下内容,但正如我之前所说,<sstream>由于某种原因,我不允许导入此作业

string input;
getline(cin, input);

double x;
istringstream foo(input);
foo >> x
if(cin){
    //do manipulations with x
}
else{
    //since it's not a number, check if input is a valid command etc..
}
Run Code Online (Sandbox Code Playgroud)

c++ string double

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

在C++中获取指向Lua对象实例的指针

我正在使用Luabind将一个基类从C++公开给Lua,我可以从Lua中派生类.这部分工作正常,我可以从Lua中的派生类调用C++方法.

现在我想要做的是在我的C++程序中获取指向基于Lua的实例的指针.

C++ - >绑定

class Enemy {
private:
  std::string name;

public:
  Enemy(const std::string& n) 
    : name(n) { 
  }

  const std::string& getName() const { 
    return name; 
  }

  void setName(const std::string& n) { 
    name = n; 
  }

  virtual void update() { 
    std::cout << "Enemy::update() called.\n"; 
  }
};

class EnemyWrapper : public Enemy, public luabind::wrap_base {
public:
  EnemyWrapper(const std::string& n) 
    : Enemy(n) { 
  }

  virtual void update() { 
    call<void>("update"); 
  }

  static void default_update(Enemy* ptr) {
    ptr->Enemy::update();
  }

}; …
Run Code Online (Sandbox Code Playgroud)

c++ lua pointers luabind

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

使用libcurl的问题:它似乎没有获得整个页面

我很难开始使用libcurl.下面的代码似乎没有从指定的URL检索整个页面.我哪里错了?

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>

using namespace std;

char buffer[1024];

size_t tobuffer(char *ptr, size_t size, size_t nmemb, void *stream)
{
    strncpy(buffer,ptr,size*nmemb);
    return size*nmemb;
}

int main() {
    CURL *curl;
    CURLcode res;


    curl = curl_easy_init();
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://google.co.in");
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION,1);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &tobuffer);

        res = curl_easy_perform(curl);

        printf("%s",buffer);

        curl_easy_cleanup(curl);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ libcurl

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

从C中的长字符串数组中有效搜索最短和最长的字符串

给定一个指向普通C NUL终止(通常很长)字符串的指针数组,我们如何才能最好地找到最小和最大的字符串?

c string algorithm

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

随机数始终生成1个数字

//Generate Food Personality
for(i=0; i<food.size(); i++)
{
    srand(time(0));     
    int randomFood = rand() % 6;

    if(randomFood == 1 || randomFood == 3 || randomFood == 5)
    {
        badFood.push_back(food[randomFood]); 
    }
    else if(randomFood == 0 || randomFood == 2 || randomFood == 4)
    {
              goodFood.push_back(food[randomFood]); 
    }
}
cout << "Size of Food Vector: " << food.size() << endl;
cout << "Size of Bad Food: " << badFood.size() << endl;
cout << "Size of Good Food " << goodFood.size() << endl;
Run Code Online (Sandbox Code Playgroud)

randomFood是一个随机数到6,它取食物[]中的随机数,并根据随机数的结果将其加到矢量中.

我的问题似乎是它总是产生奇数或偶数.而bad和good.size()总是打印为6或0,绝不是其他任何东西.

c++ random

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

我的字符集有什么问题(Win32 API)

我目前正在使用本教程学习Win32 ,并且我很难用我显示的角色.

比如这段代码在创建时向我的窗口添加一个菜单:

    case WM_CREATE: {
            HMENU hMenu, hSubMenu;
            HICON hIcon, hIconSm;

            hMenu = CreateMenu();
            hSubMenu = CreatePopupMenu();

            AppendMenu(hSubMenu, MF_STRING, ID_FILE_EXIT, "Exit");
            AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "File");

            hSubMenu = CreatePopupMenu();
            AppendMenu(hSubMenu, MF_STRING, ID_STUFF_GO, "&GO");
            AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&Stuff");

            SetMenu(hwnd, hMenu);

            hIcon = LoadImage(NULL, "Stuff.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);

            if (hIcon)
                SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
            else
                MessageBox(hwnd, "Could not load large icon!", "Load Error", MB_OK | MB_ICONERROR);

            hIconSm = LoadImage(NULL, "Stuff.ico", IMAGE_ICON, 16, 16, LR_LOADFROMFILE);

            if(hIconSm) …
Run Code Online (Sandbox Code Playgroud)

c winapi menu windows-messages

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

推荐一个c ++ lib来使用http

我需要一个库来处理http(c ++,c).它必须发送和接收http请求.它将在服务器中用于回答http请求.我的客户端 - 服务器交互应该使用REST模型.

c c++ http

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

Lua循环知道循环何时结束

Lua中是否有一条语句可以让我确定是否是最后一个循环周期?当我无法确定要循环多少个时间循环时?

例:

for _, v in pairs(t) do
if I_know_this_is_your_last_cycle then
-- do something
end
Run Code Online (Sandbox Code Playgroud)

lua loops

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

在Lua中打印一个空行

代替:

print();
print("Hellow!");
Run Code Online (Sandbox Code Playgroud)

有没有办法在print("Hellow!")不使用空白之前打印空白行print()

lua

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

如何使用raspberry Pi或任何其他Linux PC或设备创建虚拟/模拟USB鼠标

我需要创建一个模拟的USB设备.插入PC或平板电脑时,设备应该像USB鼠标一样.动机是检查系统的鼠标驱动程序.我想让其中一个Raspberry Pi USB端口像鼠标一样.

当我将Raspberry Pi USB端口连接到我的PC时,它应该显示鼠标已连接.

如何制作这种虚拟/模拟设备?

此外,我需要监控并向PC发送点击消息.

embedded usb linux-device-driver embedded-linux raspberry-pi

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