我怎么读argv[0]
?我正在使用NetBeans.每次,我都要输入stdin.当我使用时argv
,程序在没有输入的情况下执行.
这是我的代码:
int main(int argc,char *argv[])
{
char *text;
int textLen,repNum;
text = stream2string(stdin,&textLen);
//....text = argv[0] doesnt work :(
Run Code Online (Sandbox Code Playgroud)
更新:
当我编译并运行时,我必须键入一个示例字符串!字符串总是一样的:ABAABAABBBA
.所以我将采用第一个参数而不是stdin.但argv[1]
也不起作用.
这是stream2string()
:
char *stream2string (FILE *fptr, int *n)
{
static char *s;
*n = 0;
ALLOC(s,char,2);
s[*n] = getc(fptr);
while(s[*n]!=EOF && s[*n]!='\0' && s[*n]!='\n') {
REALLOC(s,char,++*n+2);
s[*n] = getc(fptr);
}
s[*n] = '\0';
return(s);
} /* stream2string() */
Run Code Online (Sandbox Code Playgroud)
我认为设置textLen
也很重要.
例如,在不创建警告的情况下实现委派技术似乎是不可能的.这没有任何意义,因为:
if (self.myDelegate != nil) {
BOOL callDelegate = [self.myDelegate respondsToSelector:@selector(fooDidHappen:WithBar:)];
if (callDelegate) {
[self.myDelegate fooDidHappen:foo withBar:bar];
}
}
Run Code Online (Sandbox Code Playgroud)
就像你可以看到的那样,我问代表是否响应那个选择器.但是在if-block中只有当委托才响应时才输入,我得到一个愚蠢的警告,表示委托没有响应.当然它没有,因为这段代码只在运行时充分利用.然而,继续使用xcode中的编译器警告是非常糟糕的做法,所以我想告诉编译器忽略它.
以PHP为例,你可以编写@anFunction(foo); 并且@将确保此功能根本不会给您任何警告.那么是否有一个编译器指令或命令可以围绕该部分键入以消除警告?
我有一个选择对象,在IE中,我运行
range = selection.createRange();
Run Code Online (Sandbox Code Playgroud)
然后我尝试获取startContainer,但我无法弄清楚如何.所有示例都显示我设置了startContainer,但我的目的是突出显示文本.如何在不先获取的情况下知道将其设置为哪个元素?
我知道在FireFox中它就像它一样简单
range = selection.getRangeAt(0);
firstNode = range.startContainer;
Run Code Online (Sandbox Code Playgroud) 我很想知道如何为图像着色(例如,制作白色.png红色).我已经看到了各种建议,但从未确认这实际上是可行的.我试过这个:
-(UIImage *)colorizeImage:(UIImage *)baseImage color:(UIColor *)theColor {
UIGraphicsBeginImageContext(baseImage.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGRect area = CGRectMake(0, 0, baseImage.size.width, baseImage.size.height);
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -area.size.height);
CGContextSaveGState(ctx);
CGContextClipToMask(ctx, area, baseImage.CGImage);
[theColor set];
CGContextFillRect(ctx, area);
CGContextRestoreGState(ctx);
CGContextSetBlendMode(ctx, kCGBlendModeNormal);
CGContextDrawImage(ctx, area, baseImage.CGImage);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
myImageView.image = [self colorizeImage:[UIImage imageNamed:@"whiteImage.png"] color:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)
但它不起作用 - 屏幕上的图像仍然是白色的.
我想在Clojure中编写一个简单的多路复用服务器(作为学习语言的示例项目),但我很难找到资源来帮助我在网上.
有没有人有任何资源可以指出Clojure中的套接字编程的基础知识和编写这样的服务器的最佳方法?
有没有办法恢复或撤消git pull,以便我的源/ repos将进入git pull之前的旧状态?我想这样做是因为它合并了一些我不想这样做的文件,但只合并了其他剩余的文件.所以,我想要恢复这些文件,这可能吗?谢谢 :)
编辑我想撤消git merge以澄清.看到一些答案后,我就这样做了
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
Run Code Online (Sandbox Code Playgroud)
现在,我该怎么办?做的git reset --hard
还行吗?我不想再把它搞砸了,所以要求详细的步骤?
我想为值类型创建一个MVC 2编辑器模板,即int,是否有人使用预览1位完成此操作?
非常感谢
我有一个Perl例程来管理错误检查.基于先前的成功,大约有10种不同的检查,有些是嵌套的.这些通常不是特殊情况,我需要croak
/ die
.此外,一旦发生错误,执行其余检查就没有意义了.
但是,我似乎无法想出一个简洁的方法来解决这个问题,除非使用类似于以下可怕的黑客的东西:
sub lots_of_checks
{
if(failcond)
{
goto failstate:
}
elsif(failcond2)
{
goto failstate;
}
#This continues on and on until...
return 1; #O happy day!
failstate:
return 0; #Dead...
}
Run Code Online (Sandbox Code Playgroud)
我希望能做的事情是这样的:
do
{
if(failcond)
{
last;
}
#...
};
Run Code Online (Sandbox Code Playgroud) 我是一个完整的Perl newb,但我确信学习Perl比在awk中解析如何解析XML更容易.我想从这个数据集中解析.sgm文件:
http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html
这是十年前来自newswire的20,000条路透社文章的集合,是针对某些类型的文本处理的标准测试集.为了简化我的perl测试,我从第一个文件中抓取了前几百行并制作了test.sgm,直到我的脚本正常工作.它开头是这样的:
<!DOCTYPE lewis SYSTEM "lewis.dtd">
<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET" OLDID="5544" NEWID="1">
<DATE>26-FEB-1987 15:01:01.79</DATE>
<TOPICS><D>cocoa</D></TOPICS>
<PLACES><D>el-salvador</D><D>usa</D><D>uruguay</D></PLACES>
<PEOPLE></PEOPLE>
<ORGS></ORGS>
<EXCHANGES></EXCHANGES>
<COMPANIES></COMPANIES>
<UNKNOWN>
C T
f0704reute
u f BC-BAHIA-COCOA-REVIEW 02-26 0105</UNKNOWN>
<TEXT>
<TITLE>BAHIA COCOA REVIEW</TITLE>
<DATELINE> SALVADOR, Feb 26 - </DATELINE><BODY>Showers continued throughout the week in
the Bahia cocoa zone, alleviating the drought since early
January and improving prospects for the coming temporao,...
Run Code Online (Sandbox Code Playgroud)
我使用了来自http://www.xml.com/pub/a/2001/05/16/perlxml.html的perl脚本作为示例,最后得到了这个,extract.pl:
use XML::DOM;
my $file = $ARGV[0];
my $parser = XML::DOM::Parser->new();
my $doc = $parser->parsefile($file); …
Run Code Online (Sandbox Code Playgroud) 我可以同时在emacs中使用常见的lisp和Clojure吗?我想将每个lisp-REPL放在自己的缓冲区中,如果我这样做,我怎么能控制哪个缓冲区将其数据发送到哪个lisp?