小编AR8*_*R89的帖子

循环遍历具有特定扩展名的所有文件

for i in $(ls);do
    if [ $i = '*.java' ];then
        echo "I do something with the file $i"
    fi
done
Run Code Online (Sandbox Code Playgroud)

我想遍历当前文件夹中的每个文件,并检查它是否与特定扩展名匹配.上面的代码不起作用,你知道为什么吗?

bash glob file

99
推荐指数
4
解决办法
9万
查看次数

如何在装配NASM中打印数字?

假设我在寄存器中有一个整数,我该如何打印?你能展示一个简单的示例代码吗?

我已经知道如何打印一个字符串,如"你好,世界".

我正在Linux上开发.

linux x86 assembly nasm

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

适用于Mac OS X的CADisplayLink替代方案

iOS有CADisplayLink,在Mac OS X中有CVDisplayLink,但我找不到使用它的方法,所有的例子都与OpenGL有关.

我创建了这个自定义UIView,我想将它转换为NSView

#import "StarView.h"
#import <QuartzCore/QuartzCore.h>

#define MAX_FPS (100.0)
#define MIN_FPS (MAX_FPS/40.0)
#define FRAME_TIME (1.0 / MAX_FPS)
#define MAX_CPF (MAX_FPS / MIN_FPS)
#define aEPS (0.0001f)

@implementation StarView

@synthesize starImage = _starImage;
@synthesize x, y;

- (void)baseInit {
    _starImage = nil;
    CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self     selector:@selector(runLoop)];
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
}

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
    [self baseInit];
}
return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
    [self …
Run Code Online (Sandbox Code Playgroud)

macos animation objective-c ios

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

数组是按值传递还是按引用传递?

我肯定知道

function(int *a); function(int a[]);
Run Code Online (Sandbox Code Playgroud)

在C中是相同的,函数(int a [])将被转换为函数(int*a)

int *a = malloc(20);
int b[] = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

这两个不一样,第一个是指针,第二个是数组.当我调用函数(b)时会发生什么?(函数(int*a))我知道b在堆栈上,那么如何传递给该函数?

其次,字符串:

char *c1 = "string";
char c2 [] = "string";
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我不知道c1在哪里,我想c2在堆栈上.假设函数现在是:function(char*c),它与函数(char c [])相同,当我调用函数(c1)和函数(c2)时会发生什么,字符串将通过引用传递或值?

c arrays string pointers

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

C指针算术

这是我不理解的代码,它只是反转一个字符串.

#include <stdio.h>

void strrev(char *p)
{
  char *q = p;
  while(q && *q) ++q;
  for(--q; p < q; ++p, --q)
    *p = *p ^ *q,
    *q = *p ^ *q,
    *p = *p ^ *q;
}

int main(int argc, char **argv)
{
  do {
    printf("%s ",  argv[argc-1]); strrev(argv[argc-1]);
    printf("%s\n", argv[argc-1]);
  } while(--argc);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不理解的唯一一段代码就是这一段:while(q && *q) ++q;它用于查找eos.是不是一样while(*q) ++q;,因为q永远不会是0?代码的作者如何确定q*q将会是0?

此代码来自这个问题:如何在C或C++中反转字符串?

c pointers

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

Objective-c:找到NSArray中元素的最后一个索引

我有一个NSArray,我想找到一个元素的最后一个出现.例如:

[apple, oranges, pears, apple, bananas];
int i = lastIndexOf("apple");
out: i == 3;
Run Code Online (Sandbox Code Playgroud)

我很难找到一个看APIS的简单解决方案,但是没有例子,所以很难理解我应该使用哪个函数.

objective-c find nsarray

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

如何让两个JPanels听同一个事件?

我有一个JFrame和,里面JFrame有两个JPanels.当我按下一个键时,他们都必须听这个关键事件并采取行动.我想拍摄所有的键盘事件,并将它们传递给两个JPanel.你知道怎么做吗?

编辑:因为他们必须做不同的事情,我需要两个不同的听众,抱歉没有具体.

Edit2:我制作了一个简单的代码来向您展示问题.当我按下向上键时,JPanel显示的两个必须改变它们的字符串; 在这段代码中,其中只有一个实际上有所反应

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

/**
*
 * @author antonioruffolo
 */
public class TwoPanelsTest extends JFrame {

public TwoPanelsTest() {

    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);
    setSize(800, 600);

    PanelTest panelTest1= new PanelTest();
    PanelTest panelTest2= new PanelTest();

    GridBagLayout layout= new GridBagLayout();
    this.setLayout(layout);

    GridBagConstraints c = new GridBagConstraints();

    c.ipadx …
Run Code Online (Sandbox Code Playgroud)

java swing

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

交流程序中的总线错误10

可能重复:
C中的char s []和char*s有什么区别?
为什么这个程序会给出分段错误?

这是代码:

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

void reverse(char *c){
    int len = strlen(c);
    char tmp;
    int i;
    for(i = 0; i < len; i++){
        tmp = c[len-1-i];
        c[len-1-i] = c[i];
        c[i] = tmp;
    }
}

int main(){
    char *s = "antonio";
    //printf("%zd\n", strlen(s));
    reverse(s);
    printf("%s\n", s);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是反向(char*c),它需要一个字符串广告反转它,但我不明白它出错的地方.

c string

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

Objective-C,作为适配器模式委派:谁是适应者?

我不止一次地读过Cocoa中使用的委托模式是Adaptern模式的实现(http://en.wikipedia.org/wiki/Adapter_pattern).它们共享相同的意图,即:让两个具有不兼容接口的对象相互协作.委托对象是适配器,因为它采用客户端所需的协议,需要协议并且对委托具有弱引用的类是客户端(因此,这将是Cocoa框架的一个类).我的问题是:谁是适应者?委托模式并没有包围任何对象,从我所看到的,谁是需要调整的对象?

cocoa delegates design-patterns objective-c ios

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

从String中提取数字和运算符

这是我制作的代码:

public static boolean isOperator(char op){
    if (op == '+' || op == '-'
            || op == '*' || op == '/'
            || op == '^'
            || op == '(' || op == ')'){
        return true;
    }
    return false;
}

public static boolean isOperand(char op){
    String numbers = "0123456789.";
    int a = numbers.indexOf(op);
    return a >= 0;
}
public static void main(String []args){        
    String exp= "15+20+(3.84*25)*(78/3.8)";
    LinkedList a = new LinkedList();

    for (int i = 0; i < exp.length(); i++){ …
Run Code Online (Sandbox Code Playgroud)

java string expression numbers extract

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