小编Dac*_*cto的帖子

从控制台程序记录到txt文件的有效方法

从C#和.NET 2.2上的控制台程序记录到日志(.txt)的最有效方法是什么?我的程序循环多次总是根据用户的需要输出不同的数据,所以我正在寻找最有效的方法来实现这一点.

我知道我总是可以重新打开一个流然后关闭它,但每次我这样做它只会写一行,然后下一次(几秒钟后)程序重新循环并需要再次写入.在我看来,这似乎并不是非常友好的.

我正在使用多个线程,这些线程都有我要记录的输出数据(打开/关闭同一个文件或在不同的线程上访问同一个文件可能不好)."拥有对自动刷新的流编写器的引用"听起来是个好主意,但我不知道该怎么做.

.net c# performance logging

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

如何将库与我的jar组合?

好的,所以我写了一个程序,利用第三方开源库,我想用我的程序打包在一个罐子里.我正在使用netbeans 6.8,我尝试过的java总是吐出错误:

java.lang.NoClassDefFoundError: libraryname;
Run Code Online (Sandbox Code Playgroud)

关于主题:我也想知道如果可能的话,如何通过netbeans制作可执行jar(exe).(我见过用java编写但是是.exe的程序)

编辑发现了一个名为FatJar的eclipse插件可以做我想要的,但是我找不到类似netbeans的东西,有这样的东西吗?

java jar

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

删除字符串C的第一个字符

我试图删除字符串的第一个字符并保留其余部分,我当前的代码没有编译,我很困惑如何解决它.

我的代码:

char * newStr (char * charBuffer)
{
    int len = strlen(charBuffer);
    int i = 1;
    char v;
    if(charBuffer[0] == 'A' || charBuffer[0] == 'Q'){
        for(i=1;i<len;i++)
            v = v + charBuffer[i];
    }
    v = v + '\0';
    return v;
}
Run Code Online (Sandbox Code Playgroud)

Gcc:"警告:返回从没有强制转换的整数生成指针"

另外:"char*newStr(char*charBuffer)"需要保持不变.

c string char gcc-warning

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

覆盖控制台关闭

我知道GUI有

private void Form1_Closing(object sender, System.ComponentModel.EventArgs e)
{
  //do stuff
}
Run Code Online (Sandbox Code Playgroud) 但是我如何在控制台应用程序中执行相同的操作?

C#/.NET3.5

c# console overriding

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

如何使用SetConsoleHandler()来阻止退出调用

我知道setconsolehandler()如果我想管理控制台关闭事件,我必须使用.

我不知道如何阻止CTRL_CLOSE_EVENT.如果它捕获了那个事件,我已经尝试返回false/true,但没有成功

这是我到目前为止(感谢Anton Gogolev!)

[DllImport("Kernel32")]
public static extern bool SetConsoleCtrlHandler(HandlerRoutine Handler, bool Add);

public delegate bool HandlerRoutine(CtrlTypes CtrlType);

public enum CtrlTypes{
    CTRL_C_EVENT = 0,
    CTRL_BREAK_EVENT,
    CTRL_CLOSE_EVENT,
    CTRL_LOGOFF_EVENT = 5,
    CTRL_SHUTDOWN_EVENT
}

private static bool ConsoleCtrlCheck(CtrlTypes ctrlType)
{ 
    if(ctrlType == CtrlTypes.CTRL_CLOSE_EVENT)
        return false;// I have tried true and false and viceversa with the return   
                     // true/false but I cant seem to get it right.
    return true;
}


//and then I use this to call it
SetConsoleCtrlHandler(new HandlerRoutine(ConsoleCtrlCheck), …
Run Code Online (Sandbox Code Playgroud)

c# console exit

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

匹配奇数长度的字符串

我试图构造一个正则表达式,以匹配字符串的长度是奇数.到目前为止我还没有取得任何成功.

2313432 - 是的

12 - 假

121111111111111 - 是的

谢谢

regex

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

HTML表单如何在POST标题中标识自己?

php页面名为page.php; 这个页面上有2个提交表单:form1和form2.当其中一个表单的提交按钮被按下时,HTML标题中的内容标识了哪个表单已提交?

php post header

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

Let语句内部的Irrefutable模式失败

我正在学习haskell,目前正在尝试从字符串中解析Integers和Floats.

但是,当我在"342"或任何没有单个或多个非数字字符的"数字"上尝试我的readNum函数时,ghci向我报告:

*异常:parse.hs:125:18-46:模式的无可辩驳模式失败(i,(a:as))

data Token
    = IntTok Int | FloatTok Float | EOF

readNum :: String->(Token, String)
readNum [] = (EOF, [])
readNum xs = let (i, (a:as)) = span isDigit xs   --This is line 125
                in (case a of
                        ('.') -> let (j, (b:c:bs)) = span isDigit as
                                        in (if ((toLower b) == 'e' && (c == '+' || c == '-' || (isDigit c)))
                                                then (let (k, d) = span isDigit bs in (FloatTok (read (concat [i,[a],j, …
Run Code Online (Sandbox Code Playgroud)

haskell design-patterns let

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

我无法通过互联网连接到我的服务器

我可以在我的本地计算机上运行服务器并在同一台计算机上连接它,但当我尝试通过Internet从另一台计算机连接到它时,我的服务器上没有活动的迹象,也没有来自服务器的响应在计算机上我正在测试它.我试过XP和Vista,关闭防火墙,打开端口,以管理员身份运行; 什么都没有用.:(

这是我用来接受传入连接的代码:


int port = 3326;
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                TcpListener listener = new TcpListener(new IPEndPoint(IPAddress.Any, port));
                listener.Start();
                Console.WriteLine("Server established\nListening on Port: {0}\n", port);
                while (true)
                {
                    socket = listener.AcceptSocket();
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, outime);
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
                    socket.DontFragment = true;
                    NewConnection pxy = new NewConnection(socket);
                    Thread client = new Thread(new ThreadStart(pxy.Start));
                    client.IsBackground = true;
                    client.Start();
                }
}
Run Code Online (Sandbox Code Playgroud)

c# sockets networking

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

使用mapM f [list],其中f用do表示法定义

我目前有这个代码,它将main'对列表中的每个文件名执行该功能files.

理想情况下,我一直试图结合main,main'但我没有取得多大进展.有没有更好的方法来简化这个或我需要将它们分开?

{- Start here -}
main :: IO [()]
main = do
    files <- getArgs
    mapM main' files

{- Main's helper function -}
main' :: FilePath -> IO ()
main' file = do 
    contents <- readFile file
    case (runParser parser 0 file $ lexer contents) of Left err -> print err
                                                       Right xs -> putStr xs
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:正如你们大多数人所暗示的那样; 我为此尝试了一个lambda抽象,但是没有把它弄好. - 应该在上面说明了这一点.通过这些例子,我看得更清楚.

haskell

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

替换字符串中的html字符实体

我想取一个包含html字符实体的字符串,如等,并用文字字符串字符替换它们.C#是否带有一个包含所有html字符实体的库,我可以用它来解析/替换字符串中的字符?

HTML字符实体列表:wiki

html c# .net-3.5

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

PHP:获取页面URL减去参数

如何获取当前页面的URL减去所有获取参数(?blah = 2&blah4 = 90 ...)我知道我可以使用$ _SERVER ['REQUEST_URI']获取完整的URL但我想知道是否有更符合我需求的东西.

或者我应该做strpos?和substr to the arguments?(我想,$ _SERVER var会更有效 - 如果存在的话)

谢谢

php apache

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

运行Perl脚本,文件名为arg

在我的OSX盒子上工作时,我的perl脚本接受我的参数而没有任何抱怨,在Windows上它没有.

这是我在cmd中做的事情:

G:\perl>toxyz.pl -i "G:\perl\filename.log"
Error: invalid arguments.
G:\perl>
Run Code Online (Sandbox Code Playgroud)

我的perl代码:

#!/usr/bin/perl -w -s
use File::Basename;

$logfile = $ARGV[0];

if(!$logfile || (!$s && !$i)){
    print STDERR "Error: invalid arguments.";
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

这在OSX上运行良好.我该怎么办?谢谢.

windows perl

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