小编pra*_*tom的帖子

用c ++中的空格读取字符串

如何用空格读取输入行(类型字符串)?我试过getline,但它进入无限循环.以下是我的代码.

#include <iostream>
#include <cstring>

#define MAX 50 //size of array

//Used G++ 4.6.3 compiler
using namespace std;

int main() {

struct Manager {
string name;
int age;
int working_years;
string phone;
int salary;
}info[MAX];

char inp; //To choose options
int array_pos = 0; //Current position in array of Manager structure
string search_name; //Manager name you want to search

cout << "Press 'i' to insert manager information or 's' to search for manager information by name or 'a' to abort: …
Run Code Online (Sandbox Code Playgroud)

c++

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

c# 源数组不够长。检查 srcIndex 和长度,以及 Array.Copy 的数组下限

我已经实现了多个客户端和服务器。客户端每隔2分钟向服务器发送大小为238或564的tcp数据包。数据包的结构如下

1) 数据包标头 -- 44 字节 该标头大小不会改变,并且随每个数据包一起提供。

2) 标头之后有超过 1 个数据包,这些数据包的大小为 16 或 32 字节。这些数据包的数量随着从客户端到服务器的每个数据包而变化,这些数据包的数量决定了数据包的总大小(238 或 512)。

3)最后2个字节是crc,也是固定的并且不会改变。

我的服务器接收来自客户端的数据包,并将数据包与主数据包分开,解析它们并将其写入 Excel 文件。以下是我的代码

服务器代码

private void createserver(int no_of_clients)
    {
        tcpListener = new TcpListener(ipAddress, Globals.port_number);
        tcpListener.Start();

        for (int i = 0; i < no_of_clients; i++)
        {
            Thread newThread = new Thread(new ThreadStart(Listeners));
            newThread.Start();
        }
    } //End of createserver();

public void Listeners()
    {
        Socket socketForClient;

            socketForClient = tcpListener.AcceptSocket();



        if (socketForClient.Connected)
        {
            NetworkStream networkStream = new NetworkStream(socketForClient);

            int stream_size = 0;
            while (true)
            {
                byte[] …
Run Code Online (Sandbox Code Playgroud)

c# exception

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

在pyqt中禁用QComboBox

是否可以QComboBox在pyqt中禁用,就像我们可以在Win Forms(C#)中一样,因为我在QComboBox手册中找不到任何选项.我想QcomboBox只在管理员登录时启用.

pyqt qcombobox

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

在pygame中使用线程

我有一个覆盆子pi和一个gpio引脚我发送脉冲,因此我有python代码来检测该引脚上的中断,它们每秒最多2个中断.现在我想将这个值(总中断数)传递给pygame应用程序.

目前用于检测中断的python代码写入总数为.检测到中断时检测到中断,然后pygame应用程序从文件中读取该数字.因此我的问题是如何使用线程在pygame中集成中断检测代码,因为我希望pygame应用程序和中断检测代码并行运行.我在某处读到pygame不是线程安全的.

我的中断检测代码:

GPIO.setmode(GPIO.BCM)
count = 0
GPIO.setup(2, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def my_callback(channel):
    file = open('hello.txt','w')
    global count
    count += 1
    file.write(str(count))
GPIO.add_event_detect(2,GPIO.BOTH, callback=my_callback)

while True:
   print "Waiting for input."
   sleep(60)
GPIO.cleanup()
Run Code Online (Sandbox Code Playgroud)

pygame应用程序代码:

pygame.init()
size=[640,640]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("Test")
done=False
clock=pygame.time.Clock()
font = pygame.font.SysFont("consolas", 25, True)
frame_rate = 20
frame_count = 0
count = 0
while done == False:
    for event in pygame.event.get(): # User did something
        if event.type == pygame.QUIT: # If user clicked close
            done=True # Flag that we are done …
Run Code Online (Sandbox Code Playgroud)

python multithreading pygame raspberry-pi

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

将补丁应用到 yocto 配方中的文件

我有一个 yocto recipe 来编译来自 github 的代码。我修改了一些文件,并希望对从 github 获取的代码应用补丁。以下是我构建代码的秘诀。

SUMMARY = "Linux NFC stack for NCI based NXP NFC Controllers"
HOMEPAGE = "https://github.com/NXPNFCLinux/linux_libnfc-nci"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/include/linux_nfc_api.h;endline=17;md5=42fdb99b3ff2c12f594b22a774cb7308"
SECTION = "libs"

SRC_URI = "git://github.com/NXPNFCLinux/linux_libnfc-nci.git \
 
file:///home/pratyush/Desktop/custom_board/drivers/PN7150/linux_libnfc-nci/demoapp-main-patch1.patch"
SRCREV = "7cf539d3d9c0d682c8da5968fbf5615ae9993060"
PV = "2.1+git${SRCPV}"
EXTRA_OECONF =" --enable-pn7150"

S = "${WORKDIR}/git"

inherit autotools
FILES_${PN} += "${libdir}/libnfc_nci_linux-1.so"
FILES_SOLIBSDEV = "${libdir}/libnfc_nci_linux.so"
Run Code Online (Sandbox Code Playgroud)

按照我的补丁应用

--- /home/root/PN7150/linux_libnfc-nci/Makefile.am
+++ Makefile.am
@@ -1,7 +1,7 @@
lib_LTLIBRARIES = libnfc_nci_linux.la

-sbin_PROGRAMS = nfcDemoApp 
-nfcDemoApp_DEPENDENCIES = libnfc_nci_linux.la
+sbin_PROGRAMS = readNfc 
+readNfc_DEPENDENCIES = libnfc_nci_linux.la …
Run Code Online (Sandbox Code Playgroud)

patch bitbake yocto

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

使用yii迁移更改属性类型

我有一个使用yii开发的现有Web应用程序数据库.现在表中的一个属性是int类型,但我想将其类型转换为表中的时间戳.如何使用yii迁移实现此目的,以便我的Web应用程序受到影响.我正在使用Mysql数据库.

database-migration yii

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

使用 sys.path.append 导入 python 模块

我有两个 python 模块,我正在尝试import使用sys.path.appendsys.path.insert。以下是我的代码

import sys
sys.path.insert(1, "/home/sam/pythonModules/module1")
sys.path.append("/home/sam/pythonModules/module2")

from lib.module1 import A
from lib.module2 import B
Run Code Online (Sandbox Code Playgroud)

我有以下文件夹结构

/home/sam/pythonModules/module1/lib/module1.py
/home/sam/pythonModules/module2/lib/module2.py
Run Code Online (Sandbox Code Playgroud)

我可以导入 lib.module1 但不能导入 lib.module2。如果我这样做

import sys
sys.path.insert(1, "/home/sam/pythonModules/module2")
sys.path.append("/home/sam/pythonModules/module1")

from lib.module1 import A
from lib.module2 import B
Run Code Online (Sandbox Code Playgroud)

那么我可以import module2但不能module1

出现上述导入错误的原因可能是什么?

我尝试append而不是insert按照以下方式,但它仍然不起作用

import sys
sys.path.append("/home/sam/pythonModules/module1")
sys.path.append("/home/sam/pythonModules/module2")

from lib.module1 import A
from lib.module2 import B
Run Code Online (Sandbox Code Playgroud)

始终仅sys.path.append成功导入第一个模块。

sys.path.append但我通过以下方式对路径进行了一些更改,然后它就起作用了。两个模块均已成功导入

 import sys
 sys.path.append("/home/sam/pythonModules/module1")
 sys.path.append("/home/sam/pythonModules/module2/lib")

 from lib.module1 import A
 from …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

从扭曲的服务器向特定客户端发送数据

我使用twisted python编写了服务器部分.现在有4个客户端连接到服务器,后者向服务器发送一些数据.如果客户端1向服务器发送一些数据,则服务器将该数据转发给客户端4,类似地,当客户端2向服务器发送数据时,服务器将该数据转发给客户端3.因此我的问题是如何根据IP地址选择特定客户端我必须向其发送数据.在我看到的使用代码后向客户端发送数据的扭曲示例中

self.transport.write("string")
Run Code Online (Sandbox Code Playgroud)

如何指定我必须向其发送数据的客户端的IP地址?

我在tcp服务器和客户端的服务器也是tcp(python twisted)

python twisted python-2.7

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

期望脚本用于远程ssh登录和执行命令

我使用以下expect脚本远程ssh登录到raspberry pi并执行命令

#!/usr/bin/expect
set timeout 60
spawn ssh [lindex $argv 1]@[lindex $argv 0]
expect "yes/no" {
    send "yes\r"
    expect "*?assword" { send "[lindex $argv 2]\r" }
    } "*?assword" { send "[lindex $argv 2]\r" }
expect "pi@raspberrypi ~ $ " {
    send "ls -la\r"
    }
interact
Run Code Online (Sandbox Code Playgroud)

问题是这个脚本能够登录到覆盆子但是当涉及执行"ls -la"命令的行时没有任何反应.任何人都可以帮我解决这个脚本吗?我在哪里弄错了?

好的,如果我放

exp_internal 1

在我的脚本中,我在匹配失败的地方得到以下输出

期待:确实是::\ r \nLinux raspberrypi 3.10.24+#614 PREEMPT Thu Dec 19 20:38:42 GMT 2013 armv6l\r \n\r \n Debian GNU/Linux系统附带的程序是免费软件;\r \n每个程序的确切分发术语在/usr/share/doc/*/copyright.\r\n\r.nDebian中的\ r \n个人文件中描述GNU/Linux附带绝对无保证,在某种程度上\ r \n适用法律规定.\ r \n最后登录:2014年3月3日19:00:11从192.168.1.200\r \n\r \n\u001b] 0; pi @ …

ssh expect

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

将2个字节转换为signed int

他们以任何方式将2个字节转换为signed int吗?我知道我们可以通过以下方式将一个字节转换为signed int

byte B1= 0xFF;
int r = Convert.ToSbyte((sbyte)B1);
Run Code Online (Sandbox Code Playgroud)

但签署int的2个字节呢?例如-260是0xFC,0xFE

c# int

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