问题列表 - 第35011页

C中的链接列表

我在运行此链表实现(包含单词作为数据)时遇到了一些问题.问题是当我尝试在链接列表中打印单词(我插入的)时,我什么都没得到.我做错了什么,打破了我的头脑?我希望这不是什么傻事.无论如何这里是代码 -

typedef struct node
{
    void *data;
    struct node *next;
} NODE;

NODE *new_node(void *data)
{
    NODE *new = malloc(sizeof(NODE));
    if(new)
    {
        new->data = data;
        new->next = NULL;
        return new;
    }
    else
    {
        return NULL;
    }
}

void print_list(NODE *head, void (print_fn) (void*))
{
    if(head && head->next)
    {
        while(head->next)
        {
            if(print_fn)
                print_fn(head->data);
            else
                printf("Word: %s\n", (char *)head->data);
            head = head->next;
        }
    }
    return;
}

void append(NODE **head, NODE *node)                                                                                  
{
    NODE *tmp = *head;
    if(tmp && node)
    {
        while(tmp->next) …
Run Code Online (Sandbox Code Playgroud)

c linked-list

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

如何删除$ _REQUEST的成员?

$_REQUEST['delete_me'];

Array ( 
 [action] => test
 [city_name] => Orlando 
 [delete_me] => - 
);
Run Code Online (Sandbox Code Playgroud)

我可以删除它还是设置它$_REQUEST['delete_me'] = "";来做技巧?

php arrays

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

如何获得真正可用的分辨率

Toolkit.getDefaultToolkit().getScreenSize()

我做了屏幕尺寸.

但通常这不是我自己的程序可用的大小,因为在Mac上有一个顶部的菜单栏和一个底部的图标栏.Windows确实有一个图标栏.那么我如何获得真正的可用空间呢?

java size swing window

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

D文件I/O功能

我刚刚学习D.看起来像一个很棒的语言,但我找不到任何有关文件I/O功能的信息.我可能很朦胧(我很擅长那个!),所以有人能指出我正确的方向吗?谢谢

io d file

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

在PHP中添加$ Date日期

我有一个日期作为mySQL查询的一部分返回在表单中 2010-09-17

我想将变量$ Date2设置为$ Date5,如下所示:

$Date2 = $Date + 1

$Date3 = $Date + 2

等等..

所以它返回2010-09-18,2010-09-19等...

我试过了

date('Y-m-d', strtotime($Date. ' + 1 day'))
Run Code Online (Sandbox Code Playgroud)

但是这给了我之前的日期$Date.

以"Ymd"格式获取我的日期的正确方法是什么,以便它们可以在另一个查询中使用?

php date

195
推荐指数
8
解决办法
39万
查看次数

如何在Perl中使用`lock_hash_recurse`?

继续在这里讨论,我遇到了一些麻烦,lock_hash_recurse如下图所示:

#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use Hash::Util qw (lock_keys);

my $hashref = {A=>1, B=>{CC=>22, DD=>33}};

lock_keys(%{$hashref}); # this is OK
Hash::Util::lock_hash_recurse(%{$hashref}); # this fails: "Use of uninitialized value in string eq at /usr/lib/perl/5.10/Hash/Util.pm line 153."
Run Code Online (Sandbox Code Playgroud)

从我所知道的,reftype返回undef...是一个错误lock_hash_recurse(也许这就是为什么它不会被导出?...)

perl hash locking

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

在python-amara中打印属性值

我正在尝试使用python-amara解析xml文件.

doc = amara.parse('h.xml')

assert doc.xml_type == tree.entity.xml_type
m = doc.xml_children[0]

print m
Run Code Online (Sandbox Code Playgroud)

当我这样做时,它给出了

amara.tree.element at 0x94c864c: name u'HOP', 0 namespaces, 0 attributes, 93 children
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这个:

print doc.HOP.A.D
Run Code Online (Sandbox Code Playgroud)

它说:

AttributeError: 'amara.tree.entity' object has no attribute 'HOP'
Run Code Online (Sandbox Code Playgroud)

任何的想法?

python amara xml-parsing

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

如何在Google Programmatically Java API中搜索

有没有人知道是否以及如何以编程方式搜索Google - 特别是如果有Java API?

java google-search-api

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

问号在SQL查询中表示什么?

在浏览一些SQL书籍时,我发现示例往往?在查询中使用问号().它代表什么?

sql prepared-statement

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

在Windows XP中快速检测固定IDE驱动器的删除

问题

我们公司生产运行Windows XP的专用设备(准确地说是Windows XPe).我们面临的一个不折不扣的法律要求是我们必须快速检测何时删除固定的 IDE驱动器.很快就会在几秒钟内完成.

有问题的驱动器是IDE驱动器.它们还具有软件保护,不受具有EWF(增强型写过滤器)层的写入的影响.EWF层位于文件系统下,保护磁盘不受写入影响.如果在受EWF保护的卷上更改或写入某些内容,则实际更改仅在内存层中发生(但文件系统不知道这一点).

问题是Windows本身似乎没有注意到固定驱动器的移除.您可以将驱动器从计算机中取出,Windows资源管理器很乐意让您浏览目录甚至打开文件(如果它们仍然在内存中缓存).由于EWF层,我甚至可以将文件写入丢失的驱动器.

我需要一个干净的纯软件解决方案.理想情况下在C#/.Net 1.1中,但我使用pinvoke或C++没有问题.


我不能做的事情

  • 不,我无法用新硬件改造成千上万的设备.
  • 不,我们不能只是超级胶合驱动器来满足法律要求.
  • 不,由于EWF层,正常的文件写入/读取将无法检测到这种情况.
  • 不,我们无法关闭EWF层.
  • 不,我不能忽视法律要求,即使它们很愚蠢.
  • 不,我无法像USB或其他可移动驱动器那样检测固定驱动器的移除方式.这些是固定驱动器.
  • 不,我不能使用WMI(Windows Management Instrumentation).它没有安装在我们的机器上.
  • 不,我不能使用.Net 1.1版本.它不适合我们的小型驱动器.(但是如果在更高版本的.Net中存在一个简单的解决方案,我可以将它移回1.1.)

目前尴尬的解决方案

我对目前的解决方案不满意.我正在寻找更优雅,更高效的东西.

我目前正在做的涉及两个线程.

线程A轮询驱动器.它首先使用Kernel32.dll在驱动器上创建一个特殊文件:

Kernel32.CreateFile(
    filename,
    File_Access.GenericRead | File_Access.GenericWrite,
    File_Share.Read | File_Share.Write,
    IntPtr.Zero,
    CreationDisposition.CreateAlways,
    CreateFileFlagsAndAttributes.File_Attribute_Hidden | CreateFileFlagsAndAttributes.File_Attribute_System,
    IntPtr.Zero);
Run Code Online (Sandbox Code Playgroud)

然后通过调用轮询驱动器

Kernel32.FlushFileBuffers(fileHandle);
Run Code Online (Sandbox Code Playgroud)

如果驱动器已被删除,则线程A将在返回错误代码之前挂起很长时间.

线程B轮询线程A.

如果线程B看到线程A已被锁定(暂时没有更新特殊变量),则线程B引发一个已删除驱动器的事件.


我当前的解决方案有效,但我不喜欢它.如果有人知道更清洁的软件解决方案,我将不胜感激.

.net c# windows

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

标签 统计

java ×2

php ×2

.net ×1

amara ×1

arrays ×1

c ×1

c# ×1

d ×1

date ×1

file ×1

google-search-api ×1

hash ×1

io ×1

linked-list ×1

locking ×1

perl ×1

prepared-statement ×1

python ×1

size ×1

sql ×1

swing ×1

window ×1

windows ×1

xml-parsing ×1