问题列表 - 第32383页

为什么我需要两次调用来传输CopyTo?

我有以下方法,由于某种原因,第一次调用Copy似乎什么也没做?谁知道为什么?在压缩方法的输入中,base64可以根据需要提供该方法.

private byte[] GetFileChunk(string base64)
    {
        using (
            MemoryStream compressedData = new MemoryStream(Convert.FromBase64String(base64), false),
            uncompressedData = new MemoryStream())
        {

            using (GZipStream compressionStream = new GZipStream(compressedData, CompressionMode.Decompress))
            {
                // first copy does nothing ?? second works
                compressionStream.CopyTo(uncompressedData);
                compressionStream.CopyTo(uncompressedData);
            }

            return uncompressedData.ToArray();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# stream c#-4.0

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

为什么用C循环变量在C++中编写for循环是如此"难"?

可能重复:
在C++中为什么我不能像这样编写for()循环:for(int i = 1,double i2 = 0; ...

AC开发人员会这样写:

int myIndex;
for (myIndex=0;myIndex<10;++myIndex) ...
Run Code Online (Sandbox Code Playgroud)

C++开发人员会编写这个来防止循环变量泄漏到循环外:

for (int myIndex=0;myIndex<10;++myIndex) ...
Run Code Online (Sandbox Code Playgroud)

但是,如果您有2个循环变量,则不能再执行此操作.以下内容无法编译:

for (int myIndex=0,MyElement *ptr=Pool->First;ptr;++myIndex,ptr=ptr->next) ...
Run Code Online (Sandbox Code Playgroud)

逗号运算符不允许以这种方式定义两个变量,因此我们必须这样写:

int myIndex;
MyElement *ptr;
for (myIndex=0,ptr=Pool->First;ptr;++myIndex,ptr=ptr->next) ...
Run Code Online (Sandbox Code Playgroud)

这打破了拥有真正的循环局部变量的优势.

一个解决方案可能是将整个结构放在大括号之间,如下所示:

{
int myIndex;
MyElement *ptr;
for (myIndex=0,ptr=Pool->First;ptr;++myIndex,ptr=ptr->next) ...
}
Run Code Online (Sandbox Code Playgroud)

但这并不是更优雅.

在C++(或C++ 0x)中有没有更好的方法呢?

c++ c++11

16
推荐指数
2
解决办法
1279
查看次数

如何在C#中合并两个XmlDocuments

我想XmlDocument通过将第二个XML文档插入到XmldocumentC#中现有的末尾来合并两个.这是怎么做到的?

.net c# xml

22
推荐指数
3
解决办法
3万
查看次数

java矢量到arraylist

有没有办法在Java中将向量复制或转换为arraylist?

java vector arraylist

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

有没有办法让MsBuild使用代码合同运行静态契约分析?

在我的项目中,静态检查被禁用,但是当我使用cmd运行msbuild.exe时,它会开始对每个项目进行静态检查...有没有办法,带参数来禁用它?

msbuild code-contracts

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

C libcurl - 测量下载速度和剩余时间

我使用以下代码从互联网上下载文件:

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream)
{
    size_t written;
    written = fwrite(ptr, size, nmemb, stream);
    return written;
}

int main(int argc, char** argv)
{
 FILE *downloaded_file;
 if ( (downloaded_file = fopen (download_path , "w" ) ) != NULL )
 {
  CURL *curl;
  CURLcode res;
  curl = curl_easy_init();
  if(curl)
  {
   curl_easy_setopt(curl, CURLOPT_URL, "www.asd.com/files/file_to_download.rar");
   curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
   curl_easy_setopt(curl, CURLOPT_WRITEDATA, downloaded_file);
   res = curl_easy_perform(curl);
   curl_easy_cleanup(curl);

   if (res == CURLE_OK)
   {
    printf("Download complete!\n");
   }
  }
  fclose(downloaded_file);
 }
}
Run Code Online (Sandbox Code Playgroud)

如何测量当前下载速度(例如每秒)和完成下载的剩余时间?

c performance time download libcurl

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

在C#应用程序中隐藏命令窗口

在你说一个重复的问题之前,请让我解释一下(因为我已经阅读了所有类似的主题).

我的应用程序具有以下两种设置:

  procStartInfo.CreateNoWindow = true;
  procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Run Code Online (Sandbox Code Playgroud)

并且还有WindowsApplication作为输出类型.

当我调用命令行命令时,黑色窗口STILL出现.我还能做些什么来隐藏窗户吗?并非所有命令都会发生,XCOPY是黑色窗口闪烁的情况.这种情况只会发生在我正在XCOPYing的目的地已经包含该文件时,它会提示我是否要替换它.即使我传入/ Y它仍然会短暂闪现.

我愿意使用vbscript,如果这会有所帮助,但任何其他想法?

客户端将调用我的可执行文件,然后传入命令行命令,即:

C:\MyProgram.exe start XCOPY c:\Test.txt c:\ProgramFiles\

这是应用程序的完整代码:

class Program
{
    static void Main(string[] args)
    {      
            string command = GetCommandLineArugments(args);

            // /c tells cmd that we want it to execute the command that follows and then exit.
            System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/c " + command);

            procStartInfo.RedirectStandardOutput = true;
            procStartInfo.UseShellExecute = false;

            // Do not create the black window.
            procStartInfo.CreateNoWindow = true;
            procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;

            System.Diagnostics.Process process = new …
Run Code Online (Sandbox Code Playgroud)

.net c# xcopy command-prompt

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

更简单的C#代码引入1毫秒延迟?

我没有使用Thread所以不能使用thread.sleep()方法..我的程序的一部分,我需要引入一些延迟..不正是1毫秒但几乎是..

这是已知的标准方法?

c#

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

LLVM代码生成导致seg错误?

我对语言创建和编译器构建感兴趣,并且已经在这里通过示例进行了处理:http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/.作者使用的是LLVM 2.6,在对LLVM 2.7进行了一些更改后,我得到了所有代码生成代码进行编译.在给编译器输入测试代码时,

int do_math( int a ) {
  int x = a * 5 + 3
}

do_math( 10 )
Run Code Online (Sandbox Code Playgroud)

程序正常工作,直到它尝试运行代码,此时它会出现段错误.我正在我的系统上构建LLDB,但与此同时,任何人都看到这个LLVM中有明显的seg错误吗?

; ModuleID = 'main'

define internal void @main() {
entry:
  %0 = call i64 @do_math(i64 10)                  ; <i64> [#uses=0]
  ret void
}

define internal i64 @do_math(i64) {
entry:
  %a = alloca i64                                 ; <i64*> [#uses=1]
  %x = alloca i64                                 ; <i64*> [#uses=1]
  %1 = add i64 5, 3                               ; <i64> [#uses=1]
  %2 = load …
Run Code Online (Sandbox Code Playgroud)

llvm

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

将主键添加到具有现有聚簇索引的表

我必须使用数据库来进行报告数据库非常大:416 055 104行每行非常轻,但只是布尔值和int id.

每行由3列标识,但令我惊讶的是,它上面没有主键.仅具有唯一约束的聚簇索引.

所以知道,我有两个问题.

  1. 这有什么好的理由吗?
  2. 有什么办法可以把它变成主键.

关于问题2

创建新主键还会创建要与之关联的非聚集索引(已存在已存在的聚簇索引).
不是我想要的.我想保留相同的索引,但也使它成为主键.

  • 可能吗?
  • 再次创建整个索引会更快吗?(希望如此)
  • 可能是什么后果?(锁定?崩溃?数据损坏?)

primary-key alter clustered-index sql-server-2008

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