问题列表 - 第17099页

"descript.ion"文件规范?

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)

看起来结构如下:

  1. 第一个"令牌"是文件名.

    • 如果令牌以任何字母开头但双引号,则令牌以第一个space字符结束.

    • 如果令牌以双引号开头,则令牌的结尾是以下双引号

    • 不确定如果文件名包含双引号会发生什么,IIRC在Windows文件系统中是非法的,所以转义引用可能是一个没有实际意义的问题)

  2. 最后一个令牌(最后一个逗号向后移动的行尾)是一个时间戳.

  3. 倒数第二个令牌(倒数第二个逗号向后移动的最后一个逗号)是Usenet新闻组中海报的名称.我不太确定通用格式会发生什么,因为我看到的唯一的descript.ion文件来自NewsBin,显然是以Usenet为中心.

  4. 介于两者之间的所有内容都是一个描述,在NewsBin的案例中来自帖子的主题.

问题:

  • 有没有人知道更多的官方"descript.ion"文件规范/文档?(或者,弹性地,您对这些文件有自己的了解并且可以验证我的规范)

  • 有没有人知道读取或写入此文件的任何其他程序?

谢谢!

windows specifications file

10
推荐指数
4
解决办法
7677
查看次数

Shell脚本调试帮助 - 迭代目录中的文件

#!/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

在我的剧本中我做错了什么?谢谢!

shell

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

GDB中的断点

我想这可能早些时候被问过,但我找不到满足我要求的那个.

我正在尝试分析各种测试套件中的代码流,从而调试(实际上是试图理解)一个大型项目.但是当我尝试在某些文件中设置断点时,我收到错误"找不到名为filename的源文件".
所以我的问题是:

  1. gdb只能接受代码流进入的源文件的断点.
  2. 我可以用类似的东西在文件的整行上设置断点 b filename:*
  3. 是否会接受头文件中的断点作为头文件只是在编译时附加?

任何见解都非常受欢迎.

编辑
我用一些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)

任何更深入的见解..?

c++ gdb

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

从ArrayList Java中删除

我试图从数组列表中删除一个项目,方法是从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.

java arraylist

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

处理parsedatetime的不同结果

我花了大约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 …

python

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

cURL的正确用途是什么?

我已经听说过curl库,我对它感兴趣...
当我读到它有很多用途时,你能不能给我一些

它有任何安全问题吗?

php curl

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

获取SSRS的报告列表?

我刚刚开始使用SSRS,到目前为止,我已经能够使用ReportViewer在我的Winforms应用程序中显示报告,通过硬编码报告路径.我想从SSRS获取一份报告列表,这样我就可以显示它们并让用户选择他们想要查看的报告.

有没有办法要求SSRS报告清单?谢谢.

.net reporting-services winforms

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

左连接更快或内连接更快?

那么......哪一个更快(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)

mysql performance inner-join left-join

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

我错误地使用了atoi吗?

我的解析函数遇到了一些问题,所以我在运行时把一些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)

c++ parsing loops atoi

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

VoIP和SIP,从哪里开始

最近,客户要求我做一个自定义应用程序来管理对讲机(Barix Annuncicom).阅读文档后,我可以完成大部分"管理"部分,但是我仍然坚持使用VoIP部分.

是否有任何文档,指南,文章可以帮助我更好地理解和编写简单的VoIP应用程序?

我正在寻找一篇对先前知识缺乏期望的文章.

voip sip

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