问题列表 - 第26782页

分配给缓冲区时fgets泄漏

我在理解为什么在一种情况下代码泄漏,而在另一种情况下没有问题.不同的是

while(NULL!=fgets(buffer,length,file))//doesnt leak
while(NULL!=(buffer=fgets(buffer,length,file))//leaks
Run Code Online (Sandbox Code Playgroud)

我以为会是一样的.

完整代码如下.

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

#define LENS 10000

void no_leak(const char* argv){
  char *buffer = (char *) malloc(LENS);
  FILE *fp=fopen(argv,"r");

  while(NULL!=fgets(buffer,LENS,fp)){
    fprintf(stderr,"%s",buffer);

  }
  fclose(fp);
  fprintf(stderr,"%s\n",buffer);
  free(buffer);  


}
void with_leak(const char* argv){
  char *buffer = (char *) malloc(LENS);
  FILE *fp=fopen(argv,"r");

  while(NULL!=(buffer=fgets(buffer,LENS,fp))){
    fprintf(stderr,"%s",buffer);

  }
  fclose(fp);
  fprintf(stderr,"%s\n",buffer);
  free(buffer);  


}
Run Code Online (Sandbox Code Playgroud)

c memory-leaks fgets

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

如何在Mac OS X上的NSTextField中启用拼写检查?

我有一个NSTextField,我想启用"as-you-type"拼写检查.当我加载我的应用程序时,我可以从菜单栏>编辑>拼写和语法>键入时检查拼写.

我希望默认情况下启用此选项.在IB中我可以为NSTextView启用它,但我想在这部分UI中使用NSTextField.

谢谢.

更新: 有没有人知道是否可以以编程方式运行菜单栏>编辑>拼写和语法>从Objective-C代码在NSTextField上键入选项时检查拼写?似乎NSTextField支持"在键入时检查拼写"选项,只是没有办法从Obj-C启用该选项.

编辑#1

我尝试以下手动启用菜单,但它不起作用:

// Focus TextField
[textField becomeFirstResponder];

// Enable Spell Checking
NSMenu *mainMenu = [[NSApplication sharedApplication] mainMenu];
NSMenu *editMenu = [[mainMenu itemWithTitle:@"Edit"] submenu];
NSMenu *spellingMenu = [[editMenu itemWithTitle:@"Spelling and Grammar"] submenu];
NSMenuItem *autoSpellingMenuItem = [spellingMenu itemWithTitle:@"Check Spelling While Typing"];
[autoSpellingMenuItem setEnabled:YES];

NSLog(@"Menu: %@", [autoSpellingMenuItem description]);
NSLog(@"Target: %@", [[autoSpellingMenuItem target] description]);

// Actually perform menu action
[[autoSpellingMenuItem target] performSelector:[autoSpellingMenuItem action]];
Run Code Online (Sandbox Code Playgroud)

是不是可以直接调用菜单项操作而不是使用setEnabled:YES?

以上输出如下,不确定目标为空的原因

App[3895:a0f] Menu: <NSMenuItem: 0x100135180 Check Spelling While Typing>
Current language:  auto; currently objective-c
App[3895:a0f] …
Run Code Online (Sandbox Code Playgroud)

macos cocoa spell-checking objective-c nstextfield

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

关闭自定义对话框?

我正在尝试创建一个自定义对话框以在此对话框中显示视图.这是Builder代码:

//Getting the layout
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog_simple,
                               (ViewGroup) findViewById(R.id.rlDialogSimple));

//Change Text and on click
TextView tvDialogSimple = (TextView) layout.findViewById(R.id.tvDialogSimple);
tvDialogSimple.setText(R.string.avisoComprobar);
Button btDialogSimple = (Button) layout.findViewById(R.id.btDialogSimple);
btDialogSimple.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        //Do some stuff

        //Here i want to close the dialog
    }
});

AlertDialog.Builder builder = new AlertDialog.Builder(AcPanelEditor.this);
builder.setView(layout);
AlertDialog alert = builder.create();
alert.show();
Run Code Online (Sandbox Code Playgroud)

所以,我想解雇btDialogSimple的onClick中的对话框.我怎么能这样做?我不知道如何从onclicklistener中调用dismiss方法.

我的按钮有自定义布局,所以我不想制作builder.setPositiveButton.

有任何想法吗?

android dialog

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

我们什么时候应该使用Mockery vs JUnit4Mockery?

如果使用JMock使用mocking编写Java单元测试,我们应该使用

Mockery context = new Mockery()
Run Code Online (Sandbox Code Playgroud)

要么

Mockery context = new JUnit4Mockery()
Run Code Online (Sandbox Code Playgroud)

两者之间有什么区别,我们什么时候应该使用哪个?

junit mocking jmock

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

Drupal Developer需要什么技能?

我正在努力写出关键的Drupal能力列表,主要是因为我可以确认我所知道的,不知道也不知道我不知道.(感谢D.拉姆斯菲尔德的报价!)

我认为其中一些非常广泛,例如制作功能主题和创建具有良好搜索引擎优化,加载时间等的主题之间存在很大差异,但我希望你可以假设一个半体面的网络开发者会看起来之后,无论如何.

只是有兴趣看看这里的人们也很重要.到目前为止,我已将这些建议编辑到此列表中.

语言

  • PHP
  • MYSQL
  • 询问

Drupal技能

  • 研究和安装模块以满足项目要求
  • 配置基本模块和核心设置以使站点运行
  • Drush命令行工具
  • 从头开始创建自定义主题,使用良好的HTML/CSS进行验证.
  • 能够自定义表单,核心,主题而无需更改核心文件,但可以使用template.php或自定义模块.
  • 可以使用API​​从头开始制作表单 - 通过验证并回发到数据库/电子邮件
  • 可以使用核心挂钩和模块挂钩从头开始创建自定义模块.
  • 参与社区,了解命名约定,CVS系统,理想情况下已经提交了一些代码或修订版.

模块 制作一个必须知道的模块列表并不容易,因为您使用的模块不仅非常依赖于网站,而且还有您如何使用它们.但是以下内容被广泛使用:

查看

  • 知道如何制作基本视图和块.
  • 了解如何使用关系和术语制作更复杂的视图.
  • 知道如何使用hook_views_query_alter来进行复杂的查询.
  • 了解如何使用hook_views_default_views创建特定视图.

CCK

  • 了解如何设置内容 - 使用哪种字段类型.
  • 知道如何创建自己的field_formatters - 用于主题CCK字段的基础.

最重要的钩子去学习,去创建一个基本的模块可能:

  • hook_form_alter() - 在不更改代码的情况下更改表单.
  • hook_menu()
  • hook_theme()
  • hook_nodeapi() - 关于节点的几乎所有内容
  • hook_schema() - 创建表
  • hook_install()/ hook_uninstall() - 创建表并清理.
  • hook_perm() - 当你需要特殊的访问控制时.
  • hook_init() - 想要永远发生的事情.
  • hook_user() - 如果您需要点击用户操作或修改用户对象.

drupal drupal-6 drupal-7

5
推荐指数
0
解决办法
5689
查看次数

从mysql数据库中选择类似的值

我在MySQL数据库中有几个数据.在我的表中有一个名为rank的列.我要的是,当有人进入秩说,25那么结果应该显示类似的名称(+或- )的行列LIMIT,以10从表中.

mathew - 25
john - 26
joe - 25
stewart - 27
kelly - 24
brandon -23
magy - 22 .......etc.
Run Code Online (Sandbox Code Playgroud)

谢谢马修

php mysql

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

如何在iphone sdk中创建故事书?

我想制作iphone故事书应用程序.我想用动画.请帮我

谢谢!

iphone

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

Java中的格式化打印

我有这个代码:

public String toString(Day day)
{
    String s = day.getDayName() + "    " + day.toString();
    return s;
}
Run Code Online (Sandbox Code Playgroud)

这是Day类的toString方法:

public String toString()
{
    String s = "";
    for (Slot slot: slots)
        s += slot.toString();
    return s;
}
Run Code Online (Sandbox Code Playgroud)

当一遍又一遍地调用它时会打印:

barbi
 monday    10: X 11:   12:   2:   3:   4:
 tuesday    10:   11:   12:   2:   3:   4: X
 wednesday    10:   11:   12:   2:   3:   4:
 thursday    10:   11:   12:   2:   3:   4:
 friday    10:   11:   12:   2:   3:   4:
    bobbi
 monday    10:   11: …

java printing formatted

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

为什么使用临时表比嵌套查询更快?

我们正在尝试优化一些查询.

一个查询正在执行以下操作:

SELECT t.TaskID, t.Name as Task, '' as Tracker, t.ClientID, (<complex subquery>) Date,
INTO [#Gadget]
FROM task t

SELECT TOP 500 TaskID, Task, Tracker, ClientID, dbo.GetClientDisplayName(ClientID) as Client 
FROM [#Gadget]
order by CASE WHEN Date IS NULL THEN 1 ELSE 0 END , Date ASC

DROP TABLE [#Gadget]
Run Code Online (Sandbox Code Playgroud)

(我已经删除了复杂的子查询.除了解释为什么这个查询已经作为一个两阶段过程完成之外,我认为它不相关.)

认为使用子查询将其合并为单个查询会更有效率:

SELECT TOP 500 TaskID, Task, Tracker, ClientID, dbo.GetClientDisplayName(ClientID)
FROM
(
    SELECT t.TaskID, t.Name as Task, '' as Tracker, t.ClientID, (<complex subquery>) Date,
    FROM task t
) as …
Run Code Online (Sandbox Code Playgroud)

sql-server optimization query-optimization

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

C#中的"词法"类型参数范围

我有2个场景.

这失败了:

class F<X>
{
  public X X { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

错误CS0102:类型" F<X>"已经包含了一个定义," X"

这有效:

class F<X>
{
  class G
  {
    public X X { get; set; }
  }
}
Run Code Online (Sandbox Code Playgroud)

唯一合乎逻辑的解释是,在第二个片段中,类型参数X超出范围,这不是真的......

为什么类型参数会影响我在类型中的定义?

IMO,为了保持一致性,要么两者都应该有效,要么两者都不应该起

还有其他想法吗?

PS:我把它称为"词汇",但它可能不是正确的术语.

更新:

根据Henk的回答,这是一个显示相同行为的非通用版本,但可能更容易理解.

失败:

class F
{
  class X { }
  public X X { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

作品:

class X { }
class F
{
  public X X { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从我所看到的,C#编译器在类型定义边界创建一个词法范围.

它还意味着类型和成员名称位于相同的"位置"(或namespaceLISP).

c# compiler-construction generics compiler-errors

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