我正在尝试从文本文件中读取数据,清除它,然后使用fstream该类按顺序写入它.
我的问题是如何在阅读后清除文件.我知道我可以打开一个文件并同时清除它,但是我可以在流上调用一些函数来清除它的内容吗?
我经常发现自己编写辅助调试器方法,返回一个可打印的字符串,给定一些枚举值.这样做的原因是当你通常记录枚举时,你得到的只是一个数字.我讨厌不得不回到我的来源找出那个枚举是什么.所以我会做类似的事情
typedef enum
{
kOne = 1,
kTwo,
kThree,
}
MyEnum;
NSString *debugStringForEnum(MyEnum e)
{
switch ( e )
case kOne:
return @"One";
case kTwo:
return @"Two";
....
}
....
NSLog(@"My debug log: %@", debugStringForEnum(someVariable));
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,有没有办法避免编写所有这些帮助代码,只是为了看到枚举的标签值?
谢谢
我使用反射来查看System.String的内部字段,我找到了三个字段:
m_arrayLength
m_stringLength
m_firstChar
Run Code Online (Sandbox Code Playgroud)
我不明白这是如何工作的.
m_arrayLength是某个数组的长度.这个阵列在哪里?它显然不是字符串类的成员字段.
m_stringLength很有意义.这是字符串的长度.
m_firstChar是字符串中的第一个字符.
所以我的问题是字符串的其余字符在哪里?如果不在字符串类中,则存储字符串的内容在哪里?
我正在尝试将上传的多部分文件写入文件系统.我有一个名为audio的目录,它位于我的Web应用程序的根目录中(不在WEB-INF内部,但在它旁边,它可以像css和javascript一样公开访问).
我想将上传的文件写入该目录,但我似乎无法获得我需要的路径.我认为获得ServletContext()然后使用realPath()可能会工作,但我没有通过Spring控制器引用ServletContext.谢谢任何肝脏
@RequestMapping(value="/uploadSample")
public ModelAndView upload(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile f) {
if (f == null) {
return new ModelAndView("upload", "msg", "The file is null.");
}
try {
// I need to set AUDIO_PATH to <webAppRoot>/audio
FileOutputStream file = new FileOutputStream(AUDIO_PATH + "/" + f.getOriginalFilename());
file.write(f.getBytes());
file.close();
}
catch (FileNotFoundException ex) {
Logger.getLogger(SampleUploadController.class.getName()).log(Level.SEVERE, null, ex);
}
catch (IOException ex) {
Logger.getLogger(SampleUploadController.class.getName()).log(Level.SEVERE, null, ex);
}
return new ModelAndView("upload", "msg", "File ( " + f.getOriginalFilename() + ") successfully uploaded.");
}
Run Code Online (Sandbox Code Playgroud)
}
我很惊讶地发现了这一点
import foo
Run Code Online (Sandbox Code Playgroud)
和
from foo import *
Run Code Online (Sandbox Code Playgroud)
对全球会员有不同的影响.我想确认我的实验是正确的行为.
在第一个示例中,更改模块foo中的成员将反映在导入foo的所有代码中.但是,在后一种情况下更改该成员似乎只会影响导入它的文件.换句话说,使用后面的方法将为每个导入文件提供foo中自己的成员副本.
我想要的行为是从所有文件访问foo.x,能够从所有文件中更改它,并将更改反映在所有文件中(如果你愿意的话,真正的全局).
我想解析git log的输出.我当前的工具通过解析svn log具有的--xml选项为svn执行此操作.我似乎无法弄清楚如何将git log输出为xml.如果xml不是一个选项,那么解析此输出的最佳方法是什么?我真的想避免将其解析为原始文本,寻找"作者"和"日期"等.
谢谢
我有类似的东西
register unsigned int a, b, c;
int n;
for (n = 0; n < 10; ++n){
c = a + b
b = a
a = c
array[n] = c;
}
Run Code Online (Sandbox Code Playgroud)
它做什么,没关系.代码以现在的方式快速运行,如果删除了register关键字,则代码更慢.但是,当我在int n之前添加寄存器时,它实际上比现在运行得慢,但比没有使用寄存器时更快.
谁可以给我解释一下这个?谢谢.
作为一个副项目,我想尝试解析二进制文件(特别是Mach-O文件).我知道已存在的工具(otool),所以请考虑这是一个学习练习.
我遇到的问题是我不明白如何将发现的二进制元素转换为python表示.例如,Mach-O文件格式以标题开头,标题由C Struct定义.第一项是uint_32'魔数'字段.当我做
magic = f.read(4)
Run Code Online (Sandbox Code Playgroud)
我明白了
b'\xcf\xfa\xed\xfe'
Run Code Online (Sandbox Code Playgroud)
这开始对我有意义.它实际上是一个4字节的字节数组.但是我想把它当作一个4字节的int来表示原始的幻数.另一个例子是numberOfSections字段.我只想要由4字节字段表示的数字,而不是文字字节数组.
也许我正在考虑这一切都错了.有没有人在做类似的事情?我是否需要编写函数来查看这些4字节字节数组并移位并组合它们的值以产生我想要的数字?恩赐会让我在这里搞砸吗?任何指针都会非常有用.
在shell脚本(在.zshrc中)我试图执行一个命令,该命令作为字符串存储在另一个变量中.网络上的各种消息来源说这是可能的,但我没有得到我期望的行为.也许这是~在命令的开头,或者也许是使用sudo,我不确定.有任何想法吗?谢谢
function update_install()
{
# builds up a command as a string...
local install_cmd="$(make_install_command $@)"
# At this point the command as a string looks like: "sudo ~some_server/bin/do_install arg1 arg2"
print "----------------------------------------------------------------------------"
print "Will update install"
print "With command: ${install_cmd}"
print "----------------------------------------------------------------------------"
echo "trying backticks"
`${install_cmd}`
echo "Trying \$()"
$(${install_cmd})
echo "Trying \$="
$=install_cmd
}
Run Code Online (Sandbox Code Playgroud)
输出:
Will update install
With command: sudo ~some_server/bin/do_install arg1 arg2
trying backticks
update_install:9: no such file or directory: sudo ~some_server/bin/do_install arg1 …Run Code Online (Sandbox Code Playgroud) 我最近成为Maven的忠实粉丝,用于控制我的应用程序的构建周期.但是,我遇到了Maven依赖管理的一些粗糙边缘.我想知道这些是否是工具和范例的限制,依赖管理的必要弊端,或者我是否只是错误地使用了工具.
首先是传递依赖的问题.据我了解,如果你提供一个依赖,Maven将反过来找到该依赖的任何依赖.这很好,但对于我的许多依赖项,这没有用.例如,在我的项目中包含Hibernate:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.3.2.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
导致slf4j缺少依赖性.我需要手动添加这个依赖项,我认为这将是Maven的工作.春天也是如此.如果我将Spring-MVC添加为依赖项,那么不应该为我添加所有基本的servlet依赖项(因为Spring-MVC需要这些东西)?我指的是servlet,jsp,jstl库.
其次是存储库的管理.Maven附带一个默认的主存储库,但我发现在很多情况下这个存储库不是最新的.例如,如果你想要spring3,你必须手动添加springource存储库,如果你想要hibernate 3.5+,你必须添加jboss存储库.当你必须自己寻找正确的存储库时,它似乎打败了自动依赖管理的重点.这种狩猎很快变得复杂.例如,要添加Spring3,您可能需要spring release repo,spring externals repo和spring milestone repo.
与数字2密切相关的是确保您拥有正确版本的工件.通过为给定的工件包含错误版本的依赖工件,我已被多次烧毁.例如,spring3的servlet/jsp/jstl apis的错误版本,或者hibernate的错误版本的持久性/注释apis.存储库中充满了许多版本,其中一些版本名称如productx-3.ga,productx-3-rc1,productx-3-SNAPSHOT,productx-3-cr,product-3-beta等等.其中一些显而易见(rc =发布候选版本),但尝试确定这些版本的顺序可能会令人困惑.
最后,类型一个依赖的问题.我可能只是不太了解这一点,但许多repo工件都是"pom"而不是"jar".有几次我在项目中添加了一个依赖jar,只是为了在构建时发现repo jar实际上并不存在(例子是jboss repo中的org.hibernate ejb3-persistence).
通过一些实验,我通常可以获得一个构建工作,但一般来说依赖管理这个复杂吗?我仍然更喜欢这种方法手动将jar文件添加到我的项目中,但我有兴趣学习如何提高我的maven依赖管理技能.