我在运行此链表实现(包含单词作为数据)时遇到了一些问题.问题是当我尝试在链接列表中打印单词(我插入的)时,我什么都没得到.我做错了什么,打破了我的头脑?我希望这不是什么傻事.无论如何这里是代码 -
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) $_REQUEST['delete_me'];
Array (
[action] => test
[city_name] => Orlando
[delete_me] => -
);
Run Code Online (Sandbox Code Playgroud)
我可以删除它还是设置它$_REQUEST['delete_me'] = "";来做技巧?
同
Toolkit.getDefaultToolkit().getScreenSize()
我做了屏幕尺寸.
但通常这不是我自己的程序可用的大小,因为在Mac上有一个顶部的菜单栏和一个底部的图标栏.Windows确实有一个图标栏.那么我如何获得真正的可用空间呢?
我刚刚学习D.看起来像一个很棒的语言,但我找不到任何有关文件I/O功能的信息.我可能很朦胧(我很擅长那个!),所以有人能指出我正确的方向吗?谢谢
我有一个日期作为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"格式获取我的日期的正确方法是什么,以便它们可以在另一个查询中使用?
继续在这里讨论,我遇到了一些麻烦,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(也许这就是为什么它不会被导出?...)
我正在尝试使用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)
任何的想法?
有没有人知道是否以及如何以编程方式搜索Google - 特别是如果有Java API?
问题
我们公司生产运行Windows XP的专用设备(准确地说是Windows XPe).我们面临的一个不折不扣的法律要求是我们必须快速检测何时删除固定的 IDE驱动器.很快就会在几秒钟内完成.
有问题的驱动器是IDE驱动器.它们还具有软件保护,不受具有EWF(增强型写过滤器)层的写入的影响.EWF层位于文件系统下,保护磁盘不受写入影响.如果在受EWF保护的卷上更改或写入某些内容,则实际更改仅在内存层中发生(但文件系统不知道这一点).
问题是Windows本身似乎没有注意到固定驱动器的移除.您可以将驱动器从计算机中取出,Windows资源管理器很乐意让您浏览目录甚至打开文件(如果它们仍然在内存中缓存).由于EWF层,我甚至可以将文件写入丢失的驱动器.
我需要一个干净的纯软件解决方案.理想情况下在C#/.Net 1.1中,但我使用pinvoke或C++没有问题.
我不能做的事情
目前尴尬的解决方案
我对目前的解决方案不满意.我正在寻找更优雅,更高效的东西.
我目前正在做的涉及两个线程.
线程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引发一个已删除驱动器的事件.
我当前的解决方案有效,但我不喜欢它.如果有人知道更清洁的软件解决方案,我将不胜感激.