小编Joh*_*ohn的帖子

C函数语法,参数列表后声明的参数类型

我是C的新手.我遇到过一种我以前从未见过的函数语法形式,参数类型在参数列表之后定义.有人可以向我解释它与典型的C函数语法有何不同?

例:

int main (argc, argv)
int argc;
char *argv[];
{
return(0);
}
Run Code Online (Sandbox Code Playgroud)

c syntax function

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

关于malloc和sizeof的新手问题

有人可以向我解释为什么我对字符串大小为6的malloc的调用返回4字节的sizeof?事实上,我给malloc的任何整数参数我得到sizeof为4.接下来,我试图复制两个字符串.为什么我复制的字符串输出(NULL)?以下是我的代码:

int main()
{
    char * str = "string";
    char * copy = malloc(sizeof(str) + 1);
    printf("bytes allocated for copy: %d\n", sizeof(copy));
    while(*str != '\0'){
        *copy = *str;
        str++;
        copy++;
    }
    copy = '\0';
    printf("%s\n", copy);
}
Run Code Online (Sandbox Code Playgroud)

c malloc sizeof

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

拖动时jQuery mouseleave无法正确触发

我有一个带有mouseleave事件监听器的可排序列表,其行为不正确.

如果我将鼠标移入和移出可排序列表,则mouseleave会正确触发.

如果我首先单击并拖动其中一个可排序的子项,则mouseleave会错误地触发 - 偶尔或根本不会触发.

有任何想法吗?

谢谢.

更新:这也适用于mouseout事件.

<style>
#sortable { list-style-type: none; margin: 0; padding: 0; float: left; margin-right: 10px; background-color: #CCC; }

#sortable li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
</style>

<script>
  $(function(){
    $("#sortable").sortable().disableSelection();
    $("#sortable").mouseleave(function(){ console.log("mouseleave"); });
  });   
</script>

<ul id="sortable">
  <li class="ui-state-default">Item 1</li>
  <li class="ui-state-default">Item 2</li>
  <li class="ui-state-default">Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

更新 我使用以下内容来检测孩子被完全拖出可排序的时间:

$("#sortable li").mousemove(function() {
        if ($(this).offset().left > $(this).parent().outerWidth() + $(this).parent().offset().left ||
                $(this).offset().top > $(this).parent().outerHeight() + $(this).parent().offset().top  ||
                $(this).offset().left + …
Run Code Online (Sandbox Code Playgroud)

javascript jquery mouseleave jquery-ui-sortable

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

在Drupal 7中获取提交的帖子值

在使用Drupal 7提交表单后,我在访问发布的值时遇到问题.

假设我有一个带有一个文本字段和一个提交按钮的简单表单.

function sample_form($form, &$form_state){
  $form['sample']['name'] = array(
  '#description' => 'Name',
  '#value' => 'Name',
  '#type' => 'textfield',
  );
 $form['sample']['sample_submit'] = array(
   '#type' => 'submit',
   '#value' => 'SUBMIT',
   '#submit' => array('sample_form_submit')
 );
}
Run Code Online (Sandbox Code Playgroud)

然后是我的提交处理程序,用于显示用户在文本字段中输入的值.

function sample_form_submit($form, &$form_state){
  drupal_set_message($form_state['values']['name']);
}
Run Code Online (Sandbox Code Playgroud)

但是,该消息始终包含文本字段的默认值,在本例中为"name".如果我输入"Mike"并点击提交,则消息显示"name"(默认值).

我怎样才能获得提交的值?我知道我可以访问

$form_state['input']['name']
Run Code Online (Sandbox Code Playgroud)

但我的理解是,上面给了我原始的,未经过化验的$ _POST数据.

我需要用户输入的值,我怎么能得到这个?我真的不清楚使用drupal Forms API获取用户提交数据的过程.

谢谢你的帮助!

php forms post drupal drupal-7

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