我在下面有这个代码片段,它在动作分配'str'的赋值期间崩溃了.
char *str;
int file_size;
FILE *fptr;
if (!(fptr = fopen(filename, "r"))) goto error1;
if ((fseek(fptr, 0L, SEEK_END) != 0)) goto error2;
if (!(file_size=ftell(fptr))) goto error2;
if ((fseek(fptr, 0L, SEEK_SET) != 0)) goto error2;
str = (char*)malloc(file_size+1);
if (fread(str, file_size, 1, fptr) != 1) {
free(str);
goto error2;
}
str[file_size] = '\0';
fclose(fptr);
Run Code Online (Sandbox Code Playgroud)
file_size是非零,非负的小于140的值
我正在使用ARM.这实际上适用于我的intel pc,但不适用于arm机器.
我有一个带有两个选项卡的tabBarController,其中第一个包含NavigatorController的实例.navigatorController是使用自定义viewController"peersViewController"启动的,它列出了tableView上的所有网络对等体.选择对等体后,"FilesListViewController"(将c:\目录中的列表文件)的实例推送到navigationController堆栈中.
在这个filesListViewController中我有一个按钮让它导航到说文档目录.为此,我连接了接口以在rootViewController中调用gotoDirectory:(NSString*)路径方法:
- (void)gotoDirectory:(NSString*)path {
[[self navigationController] popToRootViewControllerAnimated:YES];
NSArray *files = [self getFilesFromPeerAtPath:path];
FilesListViewController *filesVC = [[FilesListViewController alloc] initWithFiles:files];
[[self navigationController] pushViewController:filesVC animated:YES];
[filesVC release];
}
Run Code Online (Sandbox Code Playgroud)
但是,当我按下该按钮时,navigationController确实将我的视图弹出到根视图控制器,但是我实例化的FilesListViewController没有出现.从日志中,我知道确实调用了自定义initWithFiles方法,并且确实发生了网络内容以获取文件名.
关于此,还有其他一些问题.我尝试点击第二个标签,然后点击返回第一个标签,然后点击!我需要的文件名就在那里.看起来数据和filesListViewController确实被推入了navigatorController堆栈,但显示没有刷新,而是停留在rootViewController(peersViewController)的屏幕上.
我做错了吗?
--Ben.
- 在发布问题后15分钟编辑.我找到了一个解决方法,但是让我困扰的是pop然后推不起作用.
- (void)gotoDirectory:(NSString*)path {
PeersListViewController *rootViewController = (PeersListViewController*)[[[self navigationController] viewControllers] objectAtIndex:0];
[[self navigationController] setViewControllers:[NSArray arrayWithObject:rootViewController]];
FilesListViewController *filesVC = [[FilesListViewController alloc] initWithFiles:files];
[[self navigationController] pushViewController:filesVC animated:YES];
[filesVC release];
}
Run Code Online (Sandbox Code Playgroud)
似乎应该以这种方式规避navigationController,我可能不得不释放原始堆栈中的所有viewControllers.但这确实适用于iphone 3.0模拟器.
如果我正在使用此代码,应如何处理内存释放?我应该获得原始的NSArray视图控制器并释放所有内容吗?
考虑一个包含表Products和Employees的数据库.对当前产品经理进行建模是一项新要求,他是负责产品的唯一员工,并指出某些产品简单或成熟,不需要产品经理.也就是说,每个产品可以有零个或一个产品经理.
方法1:alter table Product添加一个新的NULLable列,product_manager_employee_ID以便没有产品经理的产品由该NULL值建模.
方法2:创建一个新表ProductManagers与非NULL能柱product_ID和employee_ID,与独特的约束product_ID,使没有产品经理一个产品是由该表中没有行的建模.
还有其他方法,但这些是我似乎经常遇到的两种方法.
假设这些都是合法的设计选择(我倾向于相信)并且只代表不同的风格,他们有名字吗?我更喜欢方法2,并且发现很难将风格差异传达给那些喜欢方法1而没有使用实际例子的人(正如我在这里所做的那样!)如果我能说"我更喜欢我自己倾向于6NF(或其他)风格."
假设这些方法中的一个实际上是一个反模式(因为我只是怀疑方法1的情况可能是通过将两个实体之间的关系建模为这些实体之一的属性)这个反模式是否具有名称?
我正在显示搜索结果的数量,但是,我会进行多次搜索.所以要显示我必须添加它们的结果数量.所以我试过这个:
<p>Found {{ products|length + categories|length + companies|length }} results.</p>
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误.我该怎么做呢?
云计算旨在按需提供计算,存储和网络容量.这是解决某些特定任务的新鲜但非常引人注目的概念,例如:
我主要使用Microsoft堆栈,这有助于提供复杂的企业应用程序.然而,.NET的云计算产品有点落后于市场.Amd唯一的提供商是Microsoft,无论如何(Windows Azure).
您是否认为.NET云提供商很快就会有多样性?您认为市场上有多少玩家,以及可能的价格(考虑到.NET可以在Linux上运行,这应该会让事情变得更便宜)?
我是JQuery的新手.在我的应用程序中,我有以下内容:
$("#displayPanel div").live("click", function(){
$(this).css({'background-color' : 'pink', 'font-weight' : 'bolder'});
});
Run Code Online (Sandbox Code Playgroud)
当我点击Div时,该Div的颜色会发生变化.在Click函数中,我有一些功能要做.毕竟我想从Div中移除已应用的Css.我怎么能在JQuery中做到这一点?
在阅读了最新一期MSDN杂志上的一篇文章后,我想尝试使用VADump来分解我编写的一些应用程序的内存使用情况.
我电脑上唯一的可执行文件副本位于:
c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt\vadump.exe
无论我给VADump提供什么参数组合,它都会返回错误:
OpenProcess Failed c0000034
谷歌搜索出现了一些其他人有同样问题,但这些帖子都没有我能找到的解决方案(甚至回复!).
本机运行的是安装了VS2005和VS2008的WinXP SP2.
VADump看起来是一个非常有用的工具,我真的很想尝试一下.希望这可以在办公室中的另一台PC上运行,但我仍然想让它在我的工作上运行.
有任何想法吗?
我的应用程序处理了很多百分比.这些通常以书面形式而不是十进制形式存储在数据库中(50%将存储为50而不是0.5).还要求在整个应用程序中一致地格式化百分比.
为此,我一直在考虑创建一个名为percentage的结构来封装这种行为.我想它的签名看起来像这样:
public struct Percentage
{
public static Percentage FromWrittenValue();
public static Percentage FromDecimalValue();
public decimal WrittenValue { get; set; }
public decimal DecimalValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是合理的事吗?它会认真地封装一些重复多次的逻辑,但这是人们可能理解的简单逻辑.我想我需要尽可能地使这种类型的行为像正常数字一样,但是我担心如果这会使人们进一步混淆,就会创建一个来自小数的隐式转换.
有关如何实现此类的任何建议?或令人信服的理由不这样做.