相关疑难解决方法(0)

是否有内置方法将多个文件作为一个流处理?

我有一个文件列表,我需要按特定顺序将它们读取到给定大小的byte [].这对于单个文件本身不是问题,简单的((got = fs.Read(piece,0,pieceLength))> 0)完成工作完全正常.文件的最后一段可能比期望的要小,这很好.

现在,有一个棘手的问题:如果我有多个文件,我需要有一个连续的流,这意味着如果文件的最后一块小于pieceLength,那么我需要读取(pieceLength-got)的下一个文件,然后继续,直到最后一个文件的结尾.

基本上,给定X文件,我将始终读取完全为pieceLength long的部分,除了最后一个文件的最后一部分,它可能更小.

我只是想知道是否已经在.net(3.5 SP1)中构建了一些功能.我目前的方法是创建一个接受文件列表然后公开Read(byte[] buffer, long index, long length)函数的类,类似于FileStream.Read().这应该是非常直接的,因为我不必更改我的读取数据的调用代码,但在重新发明轮子之前,我只想仔细检查轮子是否已经内置到BCL中.

谢谢 :)

.net c#

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

具有多个变量的每个循环的C++ 11

我想将以下传统的for循环转换为C++ 11 for-each循环,而不需要额外的循环结构:

int a[] = { 5, 6, 7, 8, 9, 10 };
int b[] = { 50, 60, 70, 80, 90, 100 };

// Swap a and b array elements 
for (int i = 0; i < sizeof(a)/sizeof(a[0]); i++)
{
   a[i] ^= b[i]; b[i] ^= a[i]; a[i] ^= b[i];
}
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以在C++ 11 for-each循环中提供多个变量,如:

for (int i, int j : ...)
Run Code Online (Sandbox Code Playgroud)

c++ for-loop c++11

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

标签 统计

.net ×1

c# ×1

c++ ×1

c++11 ×1

for-loop ×1