小编Mat*_*ewD的帖子

fork()如何工作?

我真的很想分叉,这个代码中的pid是做什么的?有人可以解释一下X行和Y行的内容吗?

#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#define SIZE 5
int nums[SIZE] = {0,1,2,3,4};
int main()
{
    int i;
    pid_t pid;
    pid = fork();
    if (pid == 0) {
        for (i = 0; i < SIZE; i++) {
            nums[i] *= -i;
            printf("CHILD: %d ",nums[i]); /* LINE X */
        }
    }
    else if (pid > 0) {
        wait(NULL);
        for (i = 0; i < SIZE; i++)
            printf("PARENT: %d ",nums[i]); /* LINE Y */
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c fork

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

Java:包含内部枚举的接口; 扩展实现类中的功能

我有一个如下界面:

package example;
import java.awt.Point;

public interface Thing {
    public enum MovingState {
        MOVING_LEFT,
        MOVING_UP,
        MOVING_RIGHT,
        MOVING_DOWN
    }

    public void setNewPosition(MovingState state);
    public Point getPosition();
}
Run Code Online (Sandbox Code Playgroud)

和实现类:

package example;
import java.awt.Point;

public class ThingImpl implements Thing {
    public enum MovingState {
        MOVING_LEFT (-1, 0),
        MOVING_UP (0, -1),
        MOVING_RIGHT (1, 0),
        MOVING_DOWN (0, 1);

        private int x_move;
        private int y_move;

        MovingState(int x, int y) {
            x_move = x;
            y_move = y;
        }

        public int xMove() {
            return x_move;
        }

        public int …
Run Code Online (Sandbox Code Playgroud)

java enums interface

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

C中的隐写术

尝试在PPM图像上进行基本的隐写术.

我已完成基本算法.读入文件,检查标题以P6开头,获取图像的宽度和高度,以及像素数据.

我需要总共有四种方法:ReadPPM,WritePPM,WriteMsg和ReadMsg.

我有ReadImg和WriteImg方法,但我遇到的是我的WriteMsg方法.这是基本的隐写术,只是将字符串的每个位写入每个字节的最后一位.假设前8个字节包含被隐藏的字符串的大小,然后每个字节开始隐藏的消息.

我的想法是创建一个大型数组,其中包含字符串大小的二进制代码,然后是字符串本身的二进制代码.我只想弄清楚如何将该数组添加到图像中的每个字节.

任何帮助深表感谢.这是我目前的代码:

#include<stdio.h>
#include<stdlib.h>

typedef struct {
     unsigned char red,green,blue;
} PPMPixel;

typedef struct {
     int x, y;
     PPMPixel *data;
} PPMImage;

#define CREATOR "RPFELGUEIRAS"
#define RGB_COMPONENT_COLOR 255

static PPMImage *readPPM(const char *filename)
{
    char buff[16];
    PPMImage *img;
    FILE *fp;
    int c, rgb_comp_color;
    //open PPM file for reading
    fp = fopen(filename, "rb");
    if (!fp) {
         fprintf(stderr, "Unable to open file '%s'\n", filename);
         exit(1);
    }

    //read image format
    if (!fgets(buff, sizeof(buff), fp)) {
         perror(filename);
         exit(1);
    }

    //check …
Run Code Online (Sandbox Code Playgroud)

c steganography pixel image-processing ppm

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

如何写入Netbeans调试器控制台(用Java)?

Netbeans在Output部分中有一个名为"Debugger Console"的选项卡式窗口.是否可以使用Java将消息写入此窗口?如果是这样,怎么样?

java debugging netbeans

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

如何在Qt DBus调用中从QDBusMessage中提取返回的数据?

我正在尝试使用Qt的QDBus类库调用WPA请求者的DBus接口.特别是,我正在尝试使用"Get"属性调用来检索"Interfaces"属性值.

"获取"的DBus规范(通过内省)是:

<interface name="org.freedesktop.DBus.Properties">
    <method name="Get">
        <arg name="interface" type="s" direction="in"/>
        <arg name="propname" type="s" direction="in"/>
        <arg name="value" type="v" direction="out"/>
    </method>
    ...
</interface>
Run Code Online (Sandbox Code Playgroud)

看起来很简单.输入两个字符串,输出是变量(这些是DBus类型).对于"Interfaces"属性,我期望变量是一个对象路径数组(DBus类型"ao").

QDBusInterface::call()用来调用DBus方法,它返回一个QDBusMessage,但我无法弄清楚如何从中提取数据.

QDBusMessage::arguments()返回一个QList<QVariant>.为了找到我的对象路径数组,我尝试了对此列表中项目的各种转换,但我似乎最终得到了一个空字符串.

QVariant::type()看起来它应该有所帮助,但它似乎只返回类型QDBusMessage,这显然是错误的.例如:

// 'message' is of type QDBusMessage
qDebug() << "Argument 0 type is" << message.arguments().at(0).type();
Run Code Online (Sandbox Code Playgroud)

打印:

Argument 0 type is QVariant::QDBusMessage
Run Code Online (Sandbox Code Playgroud)

如何提取实际的消息数据?

c++ dbus qdbus qtdbus

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

标签 统计

c ×2

java ×2

c++ ×1

dbus ×1

debugging ×1

enums ×1

fork ×1

image-processing ×1

interface ×1

netbeans ×1

pixel ×1

ppm ×1

qdbus ×1

qtdbus ×1

steganography ×1