小编cdo*_*nts的帖子

如何使用 YouTube JS API 跳过 5 秒后的广告?

我几乎可以使用 JavaScript API 来控制 YouTube 播放器做任何事情。

player = document.getElementById('movie_player');
Run Code Online (Sandbox Code Playgroud)

但我找不到任何功能可以让我在 5 秒后跳过广告视频(如果有的话)。

我怎样才能实现这个目标?

javascript youtube-api javascript-injection

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

未声明的枚举?

编译此代码时:

#include <stdio.h>

enum Boolean
{
    TRUE,
    FALSE
};

int main(int argc, char **argv)
{
    printf("%d", Boolean.TRUE);

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

我越来越:

错误:“布尔值”未声明(在此函数中首次使用)

我做错了什么?

c enums

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

如何在Python中暂停多处理过程?

我希望用户能够在启动后的任何给定时间暂停执行多处理.如何实现它?

我的代码是:

# -*- coding: utf-8 -*-
from PySide import QtCore, QtGui
from Ui_MainWindow import Ui_MainWindow
from queue import Queue
import sys
import multiprocessing, os, time

def do_work():
    print ('Work Started: %d' % os.getpid())
    time.sleep(1)
    return 'Success'

def manual_function(job_queue, result_queue):
    while not job_queue.empty():
        try:
            job = job_queue.get(block=False)
            result_queue.put(do_work())
        except Queue.Empty:
            pass

class Worker(QtCore.QThread):
    def __init__(self,name):
        QtCore.QThread.__init__(self)
        self.name = name
        self.pause = False

    def run(self):
        job_queue = multiprocessing.Queue()
        result_queue = multiprocessing.Queue()

        for i in range(1000):
            job_queue.put(None)

        self.workers = []
        for i …
Run Code Online (Sandbox Code Playgroud)

python pyqt multiprocessing

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

VC++中_com_ptr_t赋值

我有以下代码:

int _tmain(int argc, _TCHAR* argv[])
{
    // Initialize COM.
    HRESULT hr = CoInitialize(NULL);

    // Create the interface pointer.
    ICalculatorPtr pICalc(__uuidof(ManagedClass));

    long lResult = 0;

    // Call the Add method.
    pICalc->Add(5, 10, &lResult);

    wprintf(L"The result is %d\n", lResult);


    // Uninitialize COM.
    CoUninitialize();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想首先声明pICalc为全局变量,然后在_tmain函数内分配一些值。我怎样才能做到这一点?我想,像这样:

ICalculatorPtr pICalc;
//...
int _tmain(int argc, _TCHAR* argv[])
{
    //...
    pICalc = __uuidof(ManagedClass);
}
Run Code Online (Sandbox Code Playgroud)

但这会抛出:

错误 C2679:二进制“=”:找不到采用“const _GUID”类型的右侧操作数的运算符(或者没有可接受的转换)

提前致谢。

解决方案:

ICalculatorPtr pICalc = NULL;
//...
int _tmain(int argc, _TCHAR* argv[]) …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

如何在C#中导入GetAsyncKeyState?

要导入GetAsyncKeyState()我正在使用的API:

[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(int vKey);
Run Code Online (Sandbox Code Playgroud)

所有的网页都给了我相同的代码,但是当我尝试编译编译时抛出:

预期的类,委托,枚举,接口或结构
修饰符'extern'对此项无效

我正在使用命令行直接编译,但Visual C#也会抛出相同的错误.那么导入函数的正确方法是什么?

c#

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

我应该如何将包含unicode字符的字符串转换为unicode?

我认为我主宰了Python 2中的所有Unicode内容,但似乎有些东西我不明白.我有来自HTML的用户输入到我的python脚本:

a = "m\xe9dico"
Run Code Online (Sandbox Code Playgroud)

我希望这是médico(这意味着医生).所以要将其转换为unicode我正在做:

a.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

要么:

unicode(a, "utf-8")
Run Code Online (Sandbox Code Playgroud)

但这是投掷:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) 
Run Code Online (Sandbox Code Playgroud)

怎么能实现这个?

python unicode python-2.7 python-unicode

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

输出unicode wchar_t字符

只是尝试使用 MinGW 在 C 中输出这个 unicode 字符\xe2\x98\x92。我首先使用 将其放在缓冲区中swprintf,然后使用 将其写入标准输出wprintf

\n\n
#include <stdio.h>\n\nint main(int argc, char **argv)\n{\n    wchar_t buffer[50];\n    wchar_t c = L\'\xe2\x98\x92\';\n\n    swprintf(buffer, L"The character is: %c.", c);\n    wprintf(buffer);\n\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

Windows 8下的输出是:

\n\n
\n

角色是: 。

\n
\n\n

其他字符如也\xc6\x94不起作用。

\n\n

我做错了什么?

\n

c unicode mingw

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

当p指向一个字符时,strcmp(p,"\n")是不确定的行为吗?

检查最小值:

#include <stdio.h>
#include <string.h>

int main(void) {
    char newline = '\n';
    char* p = &newline;
    if(strcmp(p, "\n") == 0) {
        printf("ok\n");
    } else {
        printf("wrong\n");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是不确定的行为?或者它是完全错误的(即它总是返回不相等)?无论是什么,请解释原因!

c string pointers c99 undefined-behavior

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

Tkinter、asksaveasfile 和 unicode

长话短说,我正在制作一个将一大堆 Unicode 写入文件的程序。它通过使用 Tkinterasksaveasfile对话框让用户选择他们想要保存它的位置来做到这一点。这里是有问题的片段(顺便说一句,我进口tkinter.filedialogfudder只是为了好玩。):

name = fudder.askopenfilename(defaultextension =("Python Files","*.py"),title = "Choose a file to encrypt.")
with open(name,'r') as Usefile:
    filecont = Usefile.read()
    if filecont is None:
        return
    else:
        result = crypt(filecont)
        with fudder.asksaveasfile(mode = 'w', defaultextension = '.txt', title = 'Save the decrypted file.') as newf:
            if result is None:
                return
            else:
                newf.write(result[0].encode('utf-8'))
                newf.write('\n\n\nKey:\n\n\n')
                newf.write(result[1].encode('utf-8'))
                newf.close()
Run Code Online (Sandbox Code Playgroud)

我看了几个像这样的问题,但没有一个专门解决这个问题。该asksaveasfile对话框的工作方式与open函数一样,但我无法指定编码。我尝试将其编码为字节,但您只能将字符串写入文件,并且不能将字节转换为字符串,然后再将其转换回字节。

python unicode tkinter python-3.x

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

是否有支持带偏移的寄存器间接寻址的CALL指令?

如果我有一个模块的基地址EAX并且想要调用位于的函数EAX+C,是否有以下代码的单行替代?

ADD EAX, C
CALL EAX
Run Code Online (Sandbox Code Playgroud)

它似乎CALL [EAX+C]给出了未定义的行为.

x86 assembly

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

为什么write()不应该返回0呢?

我遇到过write()在远程关闭的客户端上使用服务器端不返回0的情况.

根据男子2 write:

成功时,返回写入的字节数(零表示没有写入).出错时,返回-1,并正确设置errno.

根据我的理解:当在远程关闭的套接字上使用read/ 时write,第一次尝试应该失败(因此返回0),并且下一次尝试应该触发断开的管道.但事实并非如此.write()就好像它在第一次尝试时成功发送数据一样,然后在下次尝试时我得到一个破损的管道.

我的问题是为什么?

我知道如何妥善处理破损的管道,这不是问题.我只是想了解为什么在这种情况下write不会返回0.

下面是我写的服务器代码.在客户端,我尝试了一个基本的C客户端(使用close()和shutdown()来关闭套接字)和netcat.这三个人给了我相同的结果.


#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>

#define MY_STR "hello world!"

int start_server(int port)
{
  int fd;
  struct sockaddr_in sin;

  fd = socket(AF_INET, SOCK_STREAM, 0);
  if (fd == -1)
    {
      perror(NULL);
      return (-1);
    }
  memset(&sin, 0, sizeof(struct sockaddr_in));
  sin.sin_addr.s_addr = htonl(INADDR_ANY);
  sin.sin_family = AF_INET;
  sin.sin_port = htons(port); …
Run Code Online (Sandbox Code Playgroud)

c sockets linux broken-pipe

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

如何使用JMP模拟CALL指令?

像这样,但没有CALL指示.我想我应该使用JMP,可能还有其他说明.

PUSH 5
PUSH 4
CALL Function
Run Code Online (Sandbox Code Playgroud)

x86 assembly function

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

在C++中将Char转换为Int的问题

本网站上的第一个问题,希望我以可接受的方式发布代码.我正在努力使这个摇滚,纸张,剪刀游戏工作,但我很难通过"你已进入线",因为它在那之后终止.

我的教授说我的问题是当randNumGenerated是int类型时,userChoice是char类型.我尝试使用以下代码转换我的r,p和s值:char r ='a'; int a = r;

但是从编译器中得到了"重新定义:不同的基本类型"错误.我不知道该怎么做,因为将变量重新定义为int是我的意图.我觉得这一切都错了吗?任何帮助将不胜感激 !

int main()
{

    char userChoice;
    int computer;
    int randNumGenerated = 0;
    int r = 0;
    int p = 0;
    int s = 0;
    unsigned seed;



    cout << "Chose either rock, paper, or scissors" << endl;
    cout << "Let r,p,and s represent rock,paper,and scissors respectively " << endl;   

    cin >> userChoice;

    cout << "You entered: " << userChoice << endl;
    cout << " " << endl;

    seed = time(0);
    srand(seed);
    randNumGenerated …
Run Code Online (Sandbox Code Playgroud)

c++ int char

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