问题列表 - 第40138页

使用fgetc()逐行读取c文件

我就是这样做的,但我不确定这是首选的习语:

FILE *fp = fopen(argv[0], "r");
// handle fopen() returning NULL

while (!feof(fp)) {
    char buffer[80]; // statically allocated, may replace this later with some more sophisticated approach
    int num_chars = 0;

    for (int ch = fgetc(fp); ch != EOF && ch != '\n'; ch = fgetc()) {
        buffer[num_chars++] = ch;
    }

    // null-terminate the string
    buffer[num_chars] = '\0';

    printf("%s\n", buffer);
}
Run Code Online (Sandbox Code Playgroud)

这没关系,有什么建议可以改善吗?

c file-io

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

SQL:ENUM与一对多关系的优势?

我很少看到野外使用的ENUM数据类型; 开发人员几乎总是只使用如下所示的辅助表:

CREATE TABLE officer_ranks (
id int PRIMARY KEY
,title varchar NOT NULL UNIQUE);
INSERT INTO ranks VALUES (1,'2LT'),(2,'1LT'),(3,'CPT'),(4,'MAJ'),(5,'LTC'),(6,'COL'),(7,'BG'),(8,'MG'),(9,'LTG'),(10,'GEN');

CREATE TABLE officers (
solider_name varchar NOT NULL
,rank int NOT NULL REFERENCES officer_ranks(id) ON DELETE RESTRICT
,serial_num varchar PRIMARY KEY);
Run Code Online (Sandbox Code Playgroud)

但是也可以使用用户定义的类型/ ENUM显示相同的内容:

CREATE TYPE officer_rank AS ENUM ('2LT', '1LT','CPT','MAJ','LTC','COL','BG','MG','LTG','GEN');

CREATE TABLE officers (
solider_name varchar NOT NULL
,rank officer_rank NOT NULL
,serial_num varchar PRIMARY KEY);
Run Code Online (Sandbox Code Playgroud)

(使用PostgreSQL显示的示例,但其他RDBMS具有类似的语法)

我看到使用ENUM的最大缺点是从应用程序内部更新更加困难.它也可能会使曾经习惯使用SQL DB的缺乏经验的开发人员感到困惑.

假设信息大多是静态的(工作日名称,月份名称,美国军队等级),使用ENUM是否有任何优势?

sql postgresql database-design

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

如何在CALayer支持的文本中处理不良文本呈现

NSTextFieldCALayer背景视图中呈现了一些可变文本.由于CALayer不支持对其上方任何文本进行文本呈现的子像素别名,因此该文本看起来很垃圾.

一些谷歌搜索揭示了原因,并且必须将文本渲染到不透明的背景上才能启用SPA.在这种情况下,如果可能的话,我想避免渲染到不透明的背景上.有更好的解决方法吗?

我完全可以将自己的文本呈现为NSImage,如果这会有所帮助,但我找不到任何已确认的报告.

它在Interface Builder中看起来非常好,所以我知道秘密就在这台计算机内的某个地方,只是为了摆脱困境.

core-animation objective-c text-rendering

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

Eclipse内容协助大型项目缓慢

我在Eclipse内部使用大型Java项目面临Java内容辅助极其缓慢的问题.该项目有很多依赖的罐子(> 100).我不确定缓慢是由于依赖的罐子,但我猜是这样的.

有没有人遇到过类似的问题?我将激活延迟更改为500毫秒以减轻疼痛,但我仍然会弹出"内容辅助问题",建议禁用Mylyn.我还设置了以下超时标志.

-Dorg.eclipse.jdt.ui.codeAssistTimeout = 60000

它似乎没有帮助.

-Xmx设置为900米.我使用的是具有4 GB RAM的双核3 GHz Windows XP 32位盒.

我欢迎你提出任何建议或解决方案.

谢谢.

java eclipse content-assist

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

如何进行正确的尺寸检查?

有四个vars:

short mantissa,  
exponent,  
base;  
long double factor;
Run Code Online (Sandbox Code Playgroud)

我该如何检查这三个组成部分中的每一个以确保结果符合要素?或者可以将其作为用户责任,以确保提供的数据有意义?

c++

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

在Emacs的ECB中,如何使用键盘切换到浏览器窗口?

我查看了文档,似乎只能通过在浏览器区域中单击鼠标来找到访问Emacs ECB浏览器窗口的方法.

emacs

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

传递包含路径的char*


我试图通过一个带有路径的字符串传递几个函数但是我在路径中放入的每个'\\'在内部函数中变成一个'\',我不能这样使用它.
有没有办法在输入新功能时保留"\\"?
我在Windows上使用C++.
谢谢 :)

c++ windows string path

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

什么时候应该使用直接初始化和复制初始化?

它只是偏好还是有特定的情况,其中一个是必要的而不是另一个?我正在参考以下变体进行初始化

T t(e); // direct initialization
T t = e; // copy initialization
Run Code Online (Sandbox Code Playgroud)

c++ explicit-constructor implicit-conversion copy-initialization

14
推荐指数
2
解决办法
5440
查看次数

可选输出参数

在C#4中,有一个提供可选输出参数的好方法吗?

c# c#-4.0

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

IndexController类中的indexAction方法的问题

我使用Zend Framework v1.11.0.我的IndexController.php中有以下代码.

<?php
 class IndexController extends Zend_Controller_Action
 {
  public function indexAction()
  {
   echo 'Web site home';
  }

 }
?>
Run Code Online (Sandbox Code Playgroud)

但是,如果我导航到:http:// projectname我得到一个空白页面,如果我去:http:// projectname/index我得到错误404.

但是,如果我用单词init替换indexAction单词然后导航到:http:// projectname我得到'网站主页'回显.

怎么解决这个问题?

谢谢.

php zend-framework

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