Windows程序Universe中似乎有一个标准的"descript.ion"文件,它为给定目录中的所有/部分文件提供元数据.
我知道有各种程序可以编写这个文件(例如:NewsBin,UseNet下载程序)并阅读它(例如:"FAR",一个模仿旧Norton Commander的文件管理器).
我正在编写自己的文件索引器,并希望添加解析和使用"descript.ion"文件中的信息的功能.
我遇到的问题是我无法找到文件的实际规格,despine很多google搜索.
我尽可能地逆向设计它,但我不确定我是否捕获了100%可能的细节,所以我想我会问.
以下是文件中的示例行:
"Rus Song1.mp3" SovietMus 1/2, rus_song@gmail.com, Fri Aug 08 00:46:27 2008
RusSong2.mp3 SovietMus 2/2, rus_song@gmail.com, Fri Aug 08 01:46:22 2008
Run Code Online (Sandbox Code Playgroud)
看起来结构如下:
第一个"令牌"是文件名.
如果令牌以任何字母开头但双引号,则令牌以第一个space字符结束.
如果令牌以双引号开头,则令牌的结尾是以下双引号
不确定如果文件名包含双引号会发生什么,IIRC在Windows文件系统中是非法的,所以转义引用可能是一个没有实际意义的问题)
最后一个令牌(最后一个逗号向后移动的行尾)是一个时间戳.
倒数第二个令牌(倒数第二个逗号向后移动的最后一个逗号)是Usenet新闻组中海报的名称.我不太确定通用格式会发生什么,因为我看到的唯一的descript.ion文件来自NewsBin,显然是以Usenet为中心.
介于两者之间的所有内容都是一个描述,在NewsBin的案例中来自帖子的主题.
问题:
有没有人知道更多的官方"descript.ion"文件规范/文档?(或者,弹性地,您对这些文件有自己的了解并且可以验证我的规范)
有没有人知道读取或写入此文件的任何其他程序?
谢谢!
#!/bin/sh
files = 'ls /myDir/myDir2/myDir3/'
for file in $files do
echo $file
java myProg $file /another/directory/
done
Run Code Online (Sandbox Code Playgroud)
我想要做的是遍历/ myDir/myDir2/myDir3 /下的每个文件名,然后使用该文件名作为调用java程序的第一个参数(第二个参数是"/ another/directory")
当我运行这个脚本时:.myScript.sh
我收到此错误:-bash:files:command not found
在我的剧本中我做错了什么?谢谢!
我想这可能早些时候被问过,但我找不到满足我要求的那个.
我正在尝试分析各种测试套件中的代码流,从而调试(实际上是试图理解)一个大型项目.但是当我尝试在某些文件中设置断点时,我收到错误"找不到名为filename的源文件".
所以我的问题是:
b filename:*任何见解都非常受欢迎.
编辑
我用一些hello world代码检查了这些问题,并找到了其中一个答案中指出的相同结果.但我在实际项目中的问题仍然存在.即使我可以看到同一行的编辑输出不被接受为断点,我仍然会得到相同的错误.
编辑2
我得到它的工作,但不明白它是如何以及为什么工作.. ??
(gdb) b /home/neeraj/BTP/trunk/include/header.h:872
No source file named /home/neeraj/BTP/trunk/include/header.h:872
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) b /home/neeraj/BTP/trunk/src/driver.cpp:2
Breakpoint 1 at 0x806c61a: file ../../../trunk/src/driver.cpp, line 2.
(gdb) b /home/neeraj/BTP/trunk/include/header.h:872
Breakpoint 2 at 0x8052fa0: file ../../../trunk/include/header.h:872, line 872.
(gdb)
任何更深入的见解..?
我试图从数组列表中删除一个项目,方法是从JList中选择它并单击"删除".
我到目前为止的代码,
buttondeleteContact.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
if (contactList.getSelectedIndex() != -1) {
people.removeElementAt(contactList.getSelectedIndex());
People.remove(contactList.getSelectedIndex());
System.out.println(People);
}
});
Run Code Online (Sandbox Code Playgroud)
我知道有些东西名字很差,但是人(小写p)是我的DefaultListModel的名字,而People(大写P)是我的ArrayList的名字.基本上,我只想从数组中删除4行的块.那么,数组中的位置,以及之后的3.
我花了大约15年左右的时间在Perl工作并且只是偶尔学习python.
我无法理解如何处理来自parsedatetime的Calendar.parse()的解析方法的两种不同类型的结果
鉴于此脚本:
#!/usr/bin/python
import parsedatetime.parsedatetime as pdt
import parsedatetime.parsedatetime_consts as pdc
import sys
import os
# create an instance of Constants class so we can override some of the defaults
c = pdc.Constants()
# create an instance of the Calendar class and pass in our Constants # object instead of letting it create a default
p = pdt.Calendar(c)
while True:
reply = raw_input('Enter text:')
if reply == 'stop':
break
else:
result = p.parse(reply)
print result
print
Run Code Online (Sandbox Code Playgroud)
这个示例运行:
输入文字:明天
(time.struct_time(tm_year …
我刚刚开始使用SSRS,到目前为止,我已经能够使用ReportViewer在我的Winforms应用程序中显示报告,通过硬编码报告路径.我想从SSRS获取一份报告列表,这样我就可以显示它们并让用户选择他们想要查看的报告.
有没有办法要求SSRS报告清单?谢谢.
那么......哪一个更快(NULl值不是问题),并被索引.
SELECT * FROM A
JOIN B b ON b.id = a.id
JOIN C c ON c.id = b.id
WHERE A.id = '12345'
Run Code Online (Sandbox Code Playgroud)
使用左连接:
SELECT * FROM A
LEFT JOIN B ON B.id=A.bid
LEFT JOIN C ON C.id=B.cid
WHERE A.id = '12345'
Run Code Online (Sandbox Code Playgroud)
这是实际的查询在这里它们都返回相同的结果
Query (0.2693sec) :
EXPLAIN EXTENDED SELECT *
FROM friend_events, zcms_users, user_events,
EVENTS WHERE friend_events.userid = '13006'
AND friend_events.state =0
AND UNIX_TIMESTAMP( friend_events.t ) >=1258923485
AND friend_events.xid = user_events.id
AND user_events.eid = events.eid
AND events.active =1
AND zcms_users.id …Run Code Online (Sandbox Code Playgroud) 我的解析函数遇到了一些问题,所以我在运行时把一些cout语句告诉我某些变量的值,我相信atoi错误地转换了字符.
下面是我的代码的一小部分奇怪的行为:
c = data_file.get();
if (data_index == 50)
cout << "50 digit 0 = '" << c << "' number = " << atoi(&c) << endl;
Run Code Online (Sandbox Code Playgroud)
该语句的输出是:
50 digit 0 = '5' number = 52
我在一个循环中调用这个代码,有什么奇怪的是它正确地转换了前47个字符,然后在第48个字符上它在整数后面加了0,在第49个字符上它加了1,在50号(见过它增加了两个,一直到第57个字符,它增加了9,然后它继续正确转换到第239个字符.
这是奇怪还是什么?
只是为了澄清一点,我会发布整个功能.该函数传递一个指向空双数组(ping_data)的指针:
int parse_ping_data(double* ping_data)
{
ifstream data_file(DATA_FILE);
int pulled_digits [4];
int add_data;
int loop_count;
int data_index = 0;
for (char c = data_file.get(); !data_file.eof(); c = data_file.get())
{
if (c == 't' && data_file.get() == 'i' && data_file.get() == 'm' && data_file.get() …Run Code Online (Sandbox Code Playgroud) 最近,客户要求我做一个自定义应用程序来管理对讲机(Barix Annuncicom).阅读文档后,我可以完成大部分"管理"部分,但是我仍然坚持使用VoIP部分.
是否有任何文档,指南,文章可以帮助我更好地理解和编写简单的VoIP应用程序?
我正在寻找一篇对先前知识缺乏期望的文章.