小编jer*_*son的帖子

通过多个功能通过引用传递

大家好.我正在为学校做一个项目,我需要通过多个函数通过引用传递一些参数.我理解如何通过引用将变量声明的位置传递给另一个函数,如下所示:

main() {
  int x = 0;
  int y = 0;
  int z = 0;

  foo_function(&x, &y, &z);
}

int foo_function(int* x, int* y, int* z) {
  *x = *y * *z;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,如何将foo函数中的x,y和z传递给另一个函数?像这样的东西给了我各种编译器警告.

int foo_function(int* x,  int* y, int* z) {
  *x = *y * *z;
  bar(&x, &y, &z);
  return 0;
}

int bar(int* x, int* y, int* z) {
  //some stuff
}
Run Code Online (Sandbox Code Playgroud)

c pointers

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

适当的RESTful方式来处理一个没有真正创建或得到某些东西的请求?

我正在编写一个只做一件事的小应用程序:获取一些用户提供的数据,对其进行一些分析,并返回该数据的"标记".我想客户应该GET或者POST他们的要求/getTag,以便得到回复.

当客户端执行此操作时,服务器上不存储任何内容,因此使用POST会感觉很奇怪.但是,分析中也没有统一的URI,因此使用GET会感觉很奇怪,因为它会根据提供的数据返回不同的内容.

使用REST表示此功能的最佳方法是什么?

rest

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

如何从asp中的查询字符串中获取数据?

我正在为IT类开发一个项目,我需要在php页面中传递查询字符串的值,并将其读入ASP页面上的隐藏字段.

我目前正在将参数从php页面传递给ASP,但我对.NET一般都是新手.如何从字符串中获取数据并将其转换为C#中的变量?例如,如果网址是blah.com/upload?username=washington,我将如何获得"华盛顿"并将其保存到隐藏字段中?万分感谢.

Jergason

编辑

我知道这很容易.万分感谢.

c# asp.net query-string

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

从C字符串中删除多余的空格?

我已经在C字符串数组中读了几行文本.这些行有任意数量的制表符或空格分隔的列,我试图弄清楚如何删除它们之间的所有额外空格.最终目标是使用strtok来分解列.这是列的一个很好的例子:

Cartwright   Wendy    93
Williamson   Mark     81
Thompson     Mark     100
Anderson     John     76
Turner       Dennis   56

如何消除列之间的所有空格或制表符,以便输出看起来像这样?

Cartwright Wendy 93

或者,我可以用不同的字符替换列之间的所有空格,以便使用strtok吗?像这样的东西?

Cartwright#Wendy#93

编辑:多个很棒的答案,但必须选择一个.谢谢大家的帮助.

c string whitespace

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

在事件机器中具有薄和彩虹的异步sinatra.为什么瘦更快?

我刚刚使用eventmachine 启动了薄与雨之间的异步sinatra基准测试.

有人可以解释为什么Thin比使用eventmachine和四个work_processes的Rainbows更快?我也尝试了一个work_processes但结果没有改变.瘦还是更快.

提前感谢Francesco

ruby asynchronous thin sinatra eventmachine

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

Mac OS X 上的 python 套接字给出 AttributeError: 'module' object has no attribute 'IF_INET'

我正在 Mac OS X 10.6 上尝试一些 python 网络编程。我正在使用 Homebrew 安装的 Python 2.7,并试图从包含 UDP 客户端和服务器的Python 网络编程基础(顺便说一句好书)运行一个简单的脚本,但是在尝试使用来自插座模块。脚本如下:

#! /usr/bin/env python

import socket, sys

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

MAX = 65535
PORT = 1060

if sys.argv[1:] == ['server']:
    s.bind(('127.0.0.1', PORT))
    print('Listening at', s.getsockname())
    while True:
        data, address = s.recvfrom(MAX)
        print('The client at ', address, ' says ', repr(data))
        s.sendto('Your data was %d bytes' % len(data), address)

elif sys.argv[1:] == ['client']:
    print('address before sending: ', s.getsockname())
    s.sendto('This is my message', ('127.0.0.1', PORT)) …
Run Code Online (Sandbox Code Playgroud)

python sockets macos homebrew udp

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

如何在PHP中使用Spreadsheet_Excel_Writer()在Excel单元格中输出超过255个字符?

我试图在Excel电子表格中输出几段文本,但是现在文本被截断以仅显示255个字符.代码非常简单:

$xls =& new Spreadsheet_Excel_Writer();
$sheet =& $xls->addWorksheet($name);

foreach ($rec as $field) {
    $rec = ($rec['data'] ? $rec['data'] : $rec);
    $sheet->write($row, $col++, $field);
}
Run Code Online (Sandbox Code Playgroud)

我能做些什么来获取所有文本,而不仅仅是255个字符?

php export-to-excel

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

为什么我的Perl打印显示HASH(0x100a2d018)?

在这里,我想我知道如何在Perl中使用列表,当发生这种情况时.如果我这样做(调试代码,不包括漂亮):

#! /usr/bin/perl -w
use strict;

my $temp1 = "FOOBAR";
my $temp2 = "BARFOO!";

my @list = { $temp1, $temp2 };

print $temp1; #this works fine
print $list[0]; #this prints out HASH(0x100a2d018)
Run Code Online (Sandbox Code Playgroud)

看起来我打印出第二个字符串的地址.如何获取列表中存储的实际字符串?我认为它与引用有关,但肯定不知道.

string perl reference list

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

如何在数据源发生变化时更新NSTableView?

我正在使用Cocoa Programming For Mac OS X(一本好书).本书给出的一个练习是构建一个简单的待办事项.UI具有表格视图,用于键入新项目的文本字段以及用于将新项目添加到表格的"添加"按钮.

在后端我有一个控制器,它是我的NSTableView的数据源和委托.控制器还实现了由"添加"按钮调用的IBAction方法.它包含一个NSMutableArray来保存待办事项列表项.单击该按钮时,操作方法将正确触发,新字符串将添加到可变数组中.但是,我的数据源方法未正确调用.他们在这里:

- (NSInteger)numberOfRowsInTableView:(NSTableView*)aTableView {NSLog(@"Calling numberOfRowsInTableView:%d",[todoList count]); return [todoList count]; }

- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex {
    NSLog(@"Returning %@ to be displayed", [todoList objectAtIndex:rowIndex]);
    return [todoList objectAtIndex:rowIndex];
}
Run Code Online (Sandbox Code Playgroud)

这是擦.-numberOfRowsInTableView仅在应用程序首次启动时调用,而不是每次我向数组添加新内容时调用.-objectValueForTableColumn永远不会被召唤.我认为这是因为Cocoa非常聪明,在没有任何东西可以绘制的时候不会调用这个方法.我需要调用一些方法让表视图知道它的数据源已经改变了,它应该重绘自己吗?

macos cocoa nstableview

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

在makefile中,如何在变量中的每个文件名上执行命令?

我知道我做错了,但我无法弄清楚如何组织这个makefile.我定义了我的util源文件,并使用一些函数来定义它们的.o文件:

UTIL_SRC = utils/src/foo.cpp utils/src/bar.cpp utils/src/baz.cpp

UTIL_OBJS = $(patsubst utils/src/%.cpp,utils/obj/%.o,$(UTIL_SRC))
Run Code Online (Sandbox Code Playgroud)

这是我使用这些文件的目标:

lib : lib/libutils.a

lib/libutils.a : $(UTIL_OBJS)
    rm -f lib/libutils.a
    ar -c -q lib/libutils.a $(UTIL_OBJS)
Run Code Online (Sandbox Code Playgroud)

然后,当我得到编译这些婴儿的规则时,我希望只有一个命令可以遍历每个UTIL_OBJS文件和每个UTIL_SRC文件.相反,我采用了这种怪物,这使得将它们存储在变量中的目的就失败了.

$(UTIL_OBJS) : $(UTIL_SRC)
    g++ $(UTIL_FLAGS) utils/src/foo.cpp -o utils/obj/foo.o
    g++ $(UTIL_FLAGS) utils/src/bar.cpp -o utils/obj/bar.o
    g++ $(UTIL_FLAGS) utils/src/baz.cpp -o utils/obj/baz.o
Run Code Online (Sandbox Code Playgroud)

我可以将它浓缩为一行吗?怎么样?谢谢,很棒!

c++ makefile

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

在C++中使用嵌套运算符重载时编译器错误

我有一个URL类,它重载了==,<,>和!=运算符以进行简单比较.URL类具有字符串数据成员和一些作用于字符串的函数.使用URL类测试时,运算符可以正常工作.

我还有一个具有URL数据成员的Page类.我试图在Page类中重载相同的运算符.Page类中的相等性基于各自URL的相等性,因此我在比较页面时使用URL类布尔运算符.这会产生一些我无法弄清楚的编译器错误.URL运算符的代码:

bool URL::operator ==(URL & u) const {
    //url is the string instance variable
    return url == u.GetURL();
}
Run Code Online (Sandbox Code Playgroud)

页面操作符代码:

bool Page::operator ==(Page & p) const {
    //url is the URL instance variable of the Page class
    return url == p.GetURL();
}
Run Code Online (Sandbox Code Playgroud)

这会产生如下错误:

src/Page.cpp: In member function ‘bool Page::operator==(Page&) const’:
src/Page.cpp:21: error: no match for ‘operator==’ in ‘((const Page*)this)->Page::url == Page::GetURL()()’
inc/URL.h:118: note: candidates are: bool URL::operator==(URL&) const
Run Code Online (Sandbox Code Playgroud)

我预测,我忘记这是愚蠢的事情.你能证明我是对的吗?

编辑: Const正确性让我陷入了困境.谢谢您的帮助.

c++ compilation operator-overloading

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

字符串与C中的char指针数组有何不同?

我的印象是他们是同一件事.然而,我认为他们在这里被区别对待.我感到困惑的部分看起来像这样.

Foo* initFoo(char* name);

int main
{
  Foo* foo;
  char* player_name[25];
  scanf("%s", player_name);
  foo = initFoo(player_name);
}

Foo* initFoo(char* name)
{
  printf("\n%s", name);
}
Run Code Online (Sandbox Code Playgroud)

字符串打印出来很好.但是,我得到一个编译器警告说:从不兼容的指针类型传递'initFoo'的参数1.我对指针缺少什么?

c pointers

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