问题列表 - 第12499页

Java NIO:读取可变大小的块

我想从TCP流中读取一个字符串,该字符串长度后跟实际数据.在Python中,我会这样做

length = ord(stream.read(1))
data = stream.read(length)
Run Code Online (Sandbox Code Playgroud)

我如何在Java NIO中做同样的事情?我有一个缓冲区(容量257)

stream.read(buffer); // cannot specify a size here
int length = buffer.get();
byte[] data = new byte[length];
buffer.get(data);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这并不工作:的get()调用read 过去在缓冲区中的数据:-(

我可能需要翻转,倒带,重置等组合,但我无法弄明白.

java buffer nio

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

如何检查Perl中是否存在UTF-16文件名?

我有一个用UTF-16编码的文本文件.每行包含由制表符分隔的多个列.对于那些关心的人,该文件是从iTunes导出的播放列表TXT.第27列包含文件名.

我在Linux中使用Perl 5.8.8使用类似的代码来阅读它:

binmode STDIN, ":encoding(UTF-16)";
while(<>)
{
    chomp;
    my @cols = split /\t/, $_;
    my $filename = $cols[26];   # Column #27 contains the filename
    print "File exists!" if (-e "$filename");
}
Run Code Online (Sandbox Code Playgroud)

(请注意:我已缩短此代码段.在我的实际代码中,我做了一些替换,将iTunes使用的绝对Windows文件名转换为在我的Linux机器上有效的文件名)

即使文件存在,( - e)文件测试也不会返回true.我认为这与UTF-16中的字符串有关,但无法弄清问题是什么.实际文件名仅使用ASCII字符.如果我打印$ filename变量,文件名将正确打印.

Perl中的文件名可以是UTF16吗?有任何想法如何让这段代码片段工作?

perl utf-16

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

红宝石中的"类#方法"是什么意思?

可能重复:
为什么ruby文档中的方法前面有井号?

编辑:重复为什么ruby文档中的方法前面有一个井号?

嗨,

我正在尝试使用免费的编程Ruby书籍在业余时间学习Ruby以获得乐趣.它基本上是相当直接的,但我一直看到像卡拉OK松#to_s这样的符号,这在本书的前几章中没有真正解释过.

我知道这意味着<class>#<method> 但是你可以在代码中使用它吗?或者只是一个符号ruby程序员用来指定像C++程序员使用的<class> :: <method>符号这样的方法

ruby

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

C中的大数减法

大约20分钟前,我刚刚在C门课程中完成了考试.关于考试的第一个问题让我措手不及,并且找到了两个大数字的差异.

目标是按值获取两个结构(N1和N2),并将差异存储在通过引用传递的结构中(N3).我们被允许假设N3是以所有'0'开始的.MAX大小可以是任何值,因此如果数字超过100位,解决方案仍然必须工作.

这是基本代码(原始可能略有不同,这是来自内存)

#include <stdio.h>
#include <stdlib.h>
/* MAX can be any length, 10, 50, 100, etc */
#define MAX 10

struct bignum
{
    char digit[MAX];
    char decimaldigit[MAX/2];
};
typedef struct bignum bigNum;
void difference(bigNum, bigNum, bigNum *);

/*
    Original values in N1 and N2

    N1.digit = { '0', '0', '0', '5', '4', '8', '2', '0', '9', '0'};
    N1.decimaldigit { '0', '0', '0', '4', '9' };

    N2.digit = { '0', '0', '0', '4', '8', '1', '3', '1', '4', '5'};
    N2.decimaldigit …
Run Code Online (Sandbox Code Playgroud)

c algorithm bignum data-structures

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

Java BigDecimal删除小数和尾随数字

我是Java的新手并尝试使用BigDecimal(例如99999999.99)并将其转换为字符串但没有小数位和尾随数字.另外,我不想要数字中的逗号,也不需要舍入.

我试过了:

Math.Truncate(number)
Run Code Online (Sandbox Code Playgroud)

但不支持BigDecimal.

有任何想法吗?

非常感谢.

java decimal bigdecimal

18
推荐指数
4
解决办法
5万
查看次数

sqlalchemy flush()并插入id?

我想做这样的事情:

f = Foo(bar='x')
session.add(f)
session.flush()

# do additional queries using f.id before commit()
print f.id # should be not None

session.commit()
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,f.id是None.我怎样才能让它发挥作用?

-担

python sqlalchemy

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

Windows上的iostream,wifstream和eclipse/g ++

我在Windows上使用Eclipse和MinGW工具链(g ++等).我有一个我在darwin上构建的程序,它使用wifstream和wofstream读取和写入文件.该程序的编译和工作在darwin(Mac)上使用eclipse找到...没有我的问题.

当我将代码移动到Windows并尝试使用MinGW工具链和eclipse进行构建时,我在wifstream,wofstream和wcout上遇到编译错误.定义为wstring的变量编译得很好.

例如:

wifstream inFile; inFile.open(argv [2],ios_base :: in);

导致编译错误

..\src\pdConv.cpp:31:错误:在此范围内未声明`wifstream'

这似乎表明编译器认为wifstream是一个变量.我注意到包含文件中没有启用_GLIBCXX_USE_WCHAR_T指令.我是否需要自己定义,或者环境中应该知道这个?如果我手动定义它,似乎我不能在同一程序中使用宽和窄的实现.

这可能是显而易见的,但我一直坚持这个问题很久......哈哈.我在这里错过了什么?

g++ wifstream wofstream

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

Vim:用字符填充行

如何在一行或多行的末尾重复添加字符,将行填充到特定列?

例如:(
'x'表示第40列,不是行上的字符;文本后面没有空格或制表符)

line one                               x
line two                               x
line three                             x
line eleventy-billion                  x
Run Code Online (Sandbox Code Playgroud)

line one ------------------------------x
line two ------------------------------x
line three ----------------------------x
line eleventy-billion -----------------x
Run Code Online (Sandbox Code Playgroud)

vim

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

如何在页面控件中从一个页面移动到另一个页面时检查以前的标签页?

我正在使用TPageControl,其中隐藏了TTabsheets的选项卡,以使它们包含的框架看起来是堆叠的,并通过在该过程的不同步骤中显示不同的框架来构建某种向导.

问题是,在调用"PageControl1.ActivePageIndex:= x;"之后 要显示下一帧,一旦进入新帧,我需要知道我是如何到达这里的,即先前显示的帧.

如果其他人在页面控件中使用了框架来构建向导,那么如何跟踪上一帧/下一帧呢?

谢谢.

delphi user-interface frames wizard uipagecontrol

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

JSLint是否可以改进您的Javascript编码?

道格拉斯·克罗克福德说:

JavaScript是一种草率的语言,但在其中有一种优雅,更好的语言.JSLint可以帮助您使用更好的语言进行编程,并避免大部分问题.

那些经常使用JSLint的程序员是否有同样的观点?

javascript jslint

9
推荐指数
2
解决办法
1463
查看次数