我尝试编译下面的简单程序时收到编译错误.
error: ‘stoi’ was not declared in this scope
我试图将两者都包括在内#include <string>,#include <string.h>而且我仍然遇到这些问题.我正在使用Ubuntu,我不记得我是如何安装g ++的,但我确信它是使用apt-get install g ++命令,因此我不知道我使用的是什么版本的g ++或C++库.
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
struct Data
{
string fname;
string lname;
int age;
};
int main()
{
bool toContinue = true;
Data data;
string buffer;
do
{
try
{
getline(cin,data.fname);
getline(cin,data.lname);
getline(cin,buffer);
data.age = stoi(buffer);
cout<<data.fname<<" ";
cout<<data.lname<<" ";
cout<<data.age<<endl;
}
catch(std::invalid_argument)
{
cerr<<"Unable to parse integer";
}
}while(toContinue);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的目标是能够在用户输入任何变量的垃圾时使用异常处理.
我正在寻找一个ImageView对象的内置方法来告诉我从哪个文件中检索我的图像.
例如我之前在代码中打电话给...
ImageView iv = new ImageView(MainActivity.this);
iv.setImageBitmap(BitmapFactory.decodeFile(f.getAbsolutePath()));
Run Code Online (Sandbox Code Playgroud)
假设我不再引用'f'并且需要找出f是什么.有没有办法做到这一点?我的工作是创建一个扩展ImageView的类,并使用它减少String.(或者在ImageView和String之间创建一个Map)
建议?
如果我有一个主要功能,如:
int main(int argc, char* argv[])
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
是否需要解除分配argv?我们可以解除分配argv吗?我们应该解除分配argv吗?
我有一个游戏循环.我需要检查当前的毫秒数.我不想创建一个新的Date对象只是为了获得已经过的毫秒数.有没有办法在我的游戏循环的每次迭代中获得当前时间而不创建新的Date对象?
例:
Date d = new Date();
while(true)
{
long currentTime = d.getCurrentTime();
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,currentTime变量的值将不断变化.
我正在使用Python.我试图确定二进制数据集中的正确字节长度.
如果我为变量分配二进制数据......
x = "aabb".decode("hex")
Run Code Online (Sandbox Code Playgroud)
是这样的
x = b'aabb'
Run Code Online (Sandbox Code Playgroud)
如果是这样,你怎么得到多少字节?(它应该是2个字节)
当我尝试:
len(x)
Run Code Online (Sandbox Code Playgroud)
我得到4而不是2 ...
我担心x会变成字符串或其他我不理解的东西,因为数据类型在Python中是如此流畅......
我正在编写有关汇编中基本输入和输出的教程。我使用的是 64 位的 Linux 发行版 (Ubuntu)。在教程的第一部分,我谈到了基本输出并创建了一个简单的程序,如下所示:
global _start
section .text
_start:
mov rax,1
mov rdi,1
mov rsi,message
mov rdx,13
syscall
mov rax,60
xor rdi,rdi
syscall
section .data
message: db "Hello, World", 10
Run Code Online (Sandbox Code Playgroud)
这很好用。系统打印字符串并干净地退出。对于教程的下一部分,我只想从键盘读取一个字符。根据我对这个网站的理解,我们将rdi寄存器更改为0以进行 sys_read 调用。
我首先从当前rsp 中减去 8 ,然后将该地址加载到rsi寄存器中。(那是我想存储字符的地方)。当我编译并运行我的程序时,它似乎可以工作……但终端似乎模仿了我再次输入的输入。
这是程序:
global _start
section .text
_start:
sub rsp,8 ; allocate space on the stack to read
mov rdi,0 ; set rdi to 0 to indicate a system read
mov rsi,[rsp-8]
mov …Run Code Online (Sandbox Code Playgroud) 我有一个php语句在我的网页上绘制图像.当我单击该网页时,我在另一个php语句中询问是否$ _POST isset并且它总是评估为true并在执行时打印出Array()print_r($_POST)
我用来导航到那个将帖子显示为空数组的页面的代码是......
echo 'Create a New Link<a href="createlink.php"><img src="images/add.png" width="5%" height="5%"/></a>';
Run Code Online (Sandbox Code Playgroud)
这样做是写出创建一个新的链接到屏幕,然后创建一个锚,最后显示一个图像.然后,如果用户点击图像,它会将它们带到createlink.php,这就是我出于某种原因设置了$ _POST变量的地方.
我所做的所有研究都表明,锚点默认使用$ _GET.我还对$ _GET进行测试,看看它是否已设置,并且它也被设置为空数组.
长话短说,isset($_POST)如果我通过锚链接到页面,我不想返回true.
我试图在 HTML5 页面的画布元素上定位鼠标的坐标。
我将画布创建为特定的高度和宽度,例如 700x700。当我将鼠标悬停在画布上时,我希望能够知道鼠标的 X、Y。这很好用,直到我在 HTML 文件中使用 CSS 拉伸我的画布......
这是我的 javascript 文件: function Sprite(path) { this.img = new Image(); this.img.onload = 加载; this.img.src = 路径;
function loaded()
{
console.log("Loaded picture");
}
}
function drawSprite(sprite, ctx)
{
console.log("drawing picture");
ctx.drawImage(sprite.img,10,10);
}
//------------------------------------------
function Game()
{
this.canvas = document.createElement("canvas");
document.body.appendChild(this.canvas);
this.canvas.width = 700;
this.canvas.height = 700;
this.context = this.canvas.getContext("2d");
var ctx = this.context;
ctx.canvas.addEventListener('mousemove', function(event){
var mouseX = event.clientX - ctx.canvas.offsetLeft;
var mouseY = event.clientY - ctx.canvas.offsetTop;
var status = document.getElementById("coords"); …Run Code Online (Sandbox Code Playgroud) 我正在测试鼠标是否位于对象上.问题是对象已被转换.我有对象图,主要是相机,然后是滑块对象,最后是形状对象.我需要能够看到鼠标坐标是否在相对于形状对象的指定矩形内.
在这里,我有我的游戏循环,它会转换清除画布,然后转换相机.然后我进入for循环并循环遍历调用其特定"draw"方法的所有对象,传入已转换的上下文.
Game.prototype.gameLoop = function()
{
this.context.clearRect(0,0,this.canvas.width, this.canvas.height);
this.context.save();
this.context.translate(this.canvas.width/2, this.canvas.height/2);
this.context.scale(this.camera.scale,this.camera.scale);
this.context.rotate(this.camera.rotate);
this.context.translate(this.camera.x,this.camera.y);
for(var i=0;i<this.objects.length;i++)
{
this.objects[i].update();
this.objects[i].draw(this.context);
}
this.context.restore();
}
Run Code Online (Sandbox Code Playgroud)
这是绘制方法的对象之一.该对象称为Slider.它被成功调用并根据它的x,y和旋转值执行转换.
Slider.prototype.draw = function(ctx)
{
ctx.save();
ctx.translate(this.x,this.y);
ctx.rotate(this.rotate);
this.pointer.draw(ctx);
ctx.fillStyle = "black";
ctx.beginPath();
ctx.moveTo(-(this.width/2),0);
ctx.lineTo((this.width/2),0);
ctx.lineTo((this.width/2),5);
ctx.lineTo(-(this.width/2),5);
ctx.fill();
ctx.restore();
}
Run Code Online (Sandbox Code Playgroud)
最后我得到了Shape的draw方法,该方法被成功调用并再次转换上下文.
Shape.prototype.draw = function(ctx)
{
ctx.save();
ctx.translate(this.x,this.y);
ctx.rotate(this.rotate);
if(this.isMouseOver)
ctx.fillStyle = this.color;
else
ctx.fillStyle = this.mouseOverFillColor;
ctx.fill(this.shape);
ctx.restore();
}
Run Code Online (Sandbox Code Playgroud)
最后,这是当鼠标移动时调用的方法"mouseEventListener".我需要能够转换坐标以查看它们相对于形状.
Shape.prototype.mouseEventListener = function(evt,type)
{
console.log(evt.clientX+" "+evt.clientY);
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?如果需要,我可以创建一个父指针对象,并使形状指向滑块,滑块指向相机以访问每个父级的x,y,旋转值.
我正在寻找相当于Android的mappoints方法,它根据矩阵转换点.在这种情况下,上下文已被多次转换,我需要一种方法来捕获每个对象的状态,然后转换一些点.
我还想在没有任何其他库的情况下轻松完成所有这些工作.
谢谢.
您如何从 gtk 条目小部件获取文本,然后将其转换为整数值。请注意,在我的代码中,我包含了一个名为 Window 的包装结构,其中包含指向小部件的指针。在 main 中,我声明了一个 Window 实例,然后使用适当的 GTK 函数调用构建正确的小部件。然后我将该窗口对象传递给处理单击操作的函数。然后我想以整数格式计算分子除以分母。下面是我的尝试。除了 button_clicked 函数外,所有代码都有效。有任何想法吗?
#include <gtk/gtk.h>
#include <stdlib.h>
struct Window
{
GtkWidget *numerator;
GtkWidget *denominator;
GtkWidget *button;
GtkWidget *label;
};
void button_clicked(GtkWidget *widget, gpointer data)
{
Window* w = (Window*)data;
char buf[10];
char buffer[200];
GtkEntry* e = (GtkEntry*)w->numerator;
const gchar* entry1 = gtk_entry_get_text(e);
char* test = (char*)gchar;
int r = atoi(test);
sprintf(buf,"%d",r);
GtkWidget *label = w->label;
gtk_label_set_text(GTK_LABEL(label), buf);
}
int main(int argc, char*argv[])
{
GtkWidget *window;
GtkWidget *table;
Window w;
//Set …Run Code Online (Sandbox Code Playgroud)