问题列表 - 第2528页

Java:将文件读入数组

我有一个文件(称为"number.txt"),我想用Java读取数组.我该怎样继续这样做呢?它是一个直接的"1维"文件,包含100个数字.

问题是我每次都得到一个例外.显然它找不到它(我确信它拼写正确).查看代码示例时,它不指定文件的整个文件路径,只指定文件本身的名称.如果有必要,我该如何去做呢?

此外,在读取文件时,数组是否会自动包含文件的所有行,或者我是否必须创建一个循环,将每行复制到相应的下标i?

我听说过BufferedReader类,它的目的是什么,以及它如何与读取输入相结合?

java arrays

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

在(ubuntu)linux中捕获第二个键盘输入

我编写了一个程序,从usb第二个键盘(实际上是条形码扫描仪)获取输入.问题是如果另一个窗口处于活动状态,则在那里输入数据而不是在我的程序中.有人可以就我做错了什么给我建议吗?

#include <stdio.h>
#include <string.h>

int main(int argc, char * argv[]){
   FILE * fp_in;
   char * data;
   fp_in = fopen("/dev/input/by-id/usb-04d9_1400-event-kbd","r");

   if(fp_in == NULL){
      fprintf(stderr,"Failed to open input by id\n");
   }

   fp_in = fopen("/dev/input/by-path/pci-0000:00:1d.1-usb-0:2:1.0-event-kbd","r");

   if(fp_in == NULL){
      fprintf(stderr,"Failed to open input by path\n");
      return 1;
   }

  while(1){
      fscanf(fp_in,data,"%s");
      fprintf(stderr,"%s",data);
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢


如果我可以如此大胆地代表Confuzzled重新解释这个问题:

如何在Linux下编写一个附加到输入设备的程序,在这种情况下是一个条形码扫描器,这样输入就不会转到具有键盘焦点的程序?

linux input barcode

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

rails的cron工作:最佳实践?

在Rails环境中运行计划任务的最佳方法是什么?脚本/亚军?耙?

cron rake daemon ruby-on-rails runner

294
推荐指数
12
解决办法
10万
查看次数

如何找到我的主机为我安装的邮件服务器?

我正在使用MediaTemple(dv)托管服务.如何确定安装的邮件服务器?我应该使用外壳吗?如果是这样,将使用什么命令?

email mediatemple

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

C#开发人员的C++

我是.NET开发人员,在此之前使用VB6.我已经非常熟悉这些环境,并且在垃圾收集语言的环境中工作.但是,我现在希望用本机C++来增强我的技能,并发现自己有点不知所措.具有讽刺意味的是,这并不是我想象的通常是初学者的绊脚石,因为我觉得我已经很好地掌握了指针和内存管理.对我来说有点混乱的事情更多的是:

  • 引用/使用其他库
  • 公开我的库以供其他人使用
  • 字符串处理
  • 数据类型转换
  • 良好的项目结构
  • 要使用的数据结构(即在C#中,我经常使用,我List<T>在C++中使用的是什么,它可以同时工作?)

它几乎感觉就像你使用的IDE一样,指南是不同的,所以我真的在寻找一些可能更普遍的东西.或者最糟糕的是,专注于使用Microsoft的编译器/ IDE.另外,为了清楚起见,我不是在寻找有关通用编程实践(设计模式,代码完成等)的任何内容,因为我觉得我非常精通这些主题.

c++

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

WPF绑定到网格列宽度

我正在尝试将DependancyProperty我的一个用户控件绑定到Widtha Column中的a 属性Grid.

我有类似这样的代码:

<Grid x:Name="MyGridName">
    <Grid.ColumnDefinitions>
        <ColumnDefinition x:Name="TitleSection" Width="100" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>...</Grid.RowDefinitions>

    <GridSplitter x:Name="MyGridSplitter" Grid.Row="0" Grid.Column="0" ... />
</Grid>
Run Code Online (Sandbox Code Playgroud)

在单独的Usercontrol中,我DependancyProperty定义了以下内容.

public static readonly DependencyProperty TitleWidthProperty = DependencyProperty.Register("TitleWidth", typeof(int), typeof(MyUserControl));

public int TitleWidth
{
    get { return (int)base.GetValue(TitleWidthProperty); }
    set { base.SetValue(TitleWidthProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)

我在代码中创建Usercontrol的实例,因此我有一个类似于此的绑定语句:

MyUserControl Cntrl = new MyUserControl(/* Construction Params */);
BindingOperations.SetBinding(Cntrl , MyUserControl.AnotherProperty, new Binding { ElementName = "objZoomSlider", Path = new PropertyPath("Value"), Mode …
Run Code Online (Sandbox Code Playgroud)

wpf grid

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

从两个不同的C DLL调用两个具有相同名称的函数

我有两个C DLL,我需要在同一个可执行文件中访问.我有两个库的头文件和.LIB文件.不幸的是,我需要访问的函数的子集具有完全相同的名称.到目前为止,我能够提出的最佳解决方案是使用LoadLibrary加载其中一个DLL并使用GetProcAddress显式调用其方法.有没有办法让我隐式加载两个库,并以某种方式给编译器一个提示,在一种情况下,我想在DLL A中调用OpenApi,在另一种情况下,我想在DLL B中调用OpenApi?

我正在使用Visual Studio 2008和相应的C运行时库(msvcr90.dll)在C++中开发可执行文件.

[编辑]

评论者Ilya在下面问我对GetProcAddress解决方案不喜欢什么.我不喜欢它有两个原因:

  1. 它使代码更复杂.调用函数的一行代码被三行代码替换,一行用于定义函数签名,一行用于调用GetProcAddress,另一行用于实际调用函数.
  2. 它更容易出现运行时错误.如果我拼错了函数名称或弄乱了签名,我在运行时才会看到错误.假设我决定集成一个新版本的DLL并且其中一个方法名称已更改,它将编译得很好并且在实际调用GetProcAddress之前不会出现问题,甚至可能在测试过程中错过.

c windows dll visual-studio-2008

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

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

Java:使用泛型实现一个对不同类型的数字进行操作的类

所以,假设我想编写一个操作不同类型数字的类,但我不知道我将要操作的是什么类型的数字(即整数,双数等).

我想使用泛型来为这个场景创建一个通用类.就像是:

 Adder<Double> adder = new Adder<Double>();
 adder.add(10.0d, 10.0d);   // = 20.0d
Run Code Online (Sandbox Code Playgroud)

但是,我无法实例化我传入Adder类的泛型类型!那么该怎么办?

java generics

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

如何在.NET中生成进程并捕获其STDOUT?

我需要生成一个作为控制台应用程序的子进程,并捕获其输出.

我为方法编写了以下代码:

string retMessage = String.Empty;
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();

startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;

startInfo.UseShellExecute = false;
startInfo.Arguments = command;
startInfo.FileName = exec;

p.StartInfo = startInfo;
p.Start();

p.OutputDataReceived += new DataReceivedEventHandler
(
    delegate(object sender, DataReceivedEventArgs e)
    {
        using (StreamReader output = p.StandardOutput)
        {
            retMessage = output.ReadToEnd();
        }
    }
);

p.WaitForExit();

return retMessage;
Run Code Online (Sandbox Code Playgroud)

但是,这不会返回任何内容.我不相信该OutputDataReceived事件被回调,或者该WaitForExit()命令可能阻塞该线程,因此它永远不会回调.

有什么建议?

编辑:看起来我在回调中努力了.这样做:

return p.StandardOutput.ReadToEnd(); 
Run Code Online (Sandbox Code Playgroud)

似乎工作正常.

.net c# process spawning

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