我在一个文本文件中有这个:
John 20 30 40
mike 30 20 10
Run Code Online (Sandbox Code Playgroud)
我如何从文本文件中读取并将它们分成变量名称var1,var2,var3.这是我的尝试,似乎它不起作用.请帮忙.
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main () {
string name,result;
int number1;
ifstream myfile ("marks.txt");
if (myfile.is_open())
{
while ( !myfile.eof() )
{
getline (myfile,name,'\t');
getline (myfile,var1,'\t');
getline (myfile,var2,'\t');
getline (myfile,var3,'\t');
cout << name << var1 << var2 << var3;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编辑1:
Nocturne建议:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace …Run Code Online (Sandbox Code Playgroud) 我正在研究这个:
NSString *str1 = @"This is string A";
NSString *str2 = @"This is string B";
NSComparisonResult compareResult;
if([str1 isEqualToString:str2] == YES)
NSLog (@"str1 == str2");
else
NSLog (@"str1 != str2");
compareResult = [str1 compare: str2];
if (compareResult == NSOrderedAscending)
NSLog (@"str1 < str2");
else if(compareResult == NSOrderedSame)
NSLog (@"str1 == str2");
else
NSLog (@"str1 > str2");
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:compare:和isEqualToString有
什么区别:
我是编程的新手,所以请耐心等待.
非常感谢.
我怎样才能让jQuery只进行一次ajax查询?
现在,每当用户切换"评论(X)"时它就会联系服务器
// Replies - Toggle display of comments
$('.info .reply').click( function() {
$('.reply', this.parentNode.parentNode).toggle();
return false;
});
// Load comments
$('.info .reply', this).mousedown( function() {
var id = $('form #id', this.parentNode.parentNode).val();
$.ajax({ url: location.href, type: 'post', data: 'id=' + id, dataType: 'json',
success: function(data) {
for (var i in data) {
// Do AJAX Updates
}
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
我想我可以在加载ajax数据之后以某种方式在这里放置一个unbind()事件,但我不知道在哪里!
谢谢你的帮助!
所以说我有以下非常简单的宏,以及输出它的一些代码:
#define SIMPLEHASH(STRING) STRING[1] + STRING[2] + STRING[3]
std::cout << SIMPLEHASH("Blah");
Run Code Online (Sandbox Code Playgroud)
这输出309,如果您查看程序集,您可以看到:
00131094 mov ecx,dword ptr [__imp_std::cout (132050h)]
0013109A push 135h
0013109F call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (13203Ch)]
Run Code Online (Sandbox Code Playgroud)
哪里135h很好地翻译成309十进制.一切都被编译成一个常数.
现在,假设你有一个模板类:
template<int X> class Printer{
public:
void Print(){
std::cout << X;
}
};
Run Code Online (Sandbox Code Playgroud)
然后以下将很好地打印数字32:
Printer<32> p;
p.Print();
Run Code Online (Sandbox Code Playgroud)
这两件事都是单独的,当你试图将它们组合起来时就会出现问题:
#define SIMPLEHASH(STRING) STRING[1] + STRING[2] + STRING[3]
Printer<SIMPLEHASH("Blah")> p;
p.Print();
Run Code Online (Sandbox Code Playgroud)
在visual studio中,这给出了:
1>.\ ShiftCompare.cpp(187):错误C2975:'X':'Printer'的模板参数无效,预期编译时常量表达式
1>.\ ShiftCompare.cpp(127):参见'X'的声明
尽管SIMPLEHASH("Blah")可以在编译时将其简化为常量,如第一个示例所示.
那么,有什么方法可以告诉编译器"先评估一下"?在预处理器评估中自然是"之前"的模板?
有谁看到我可以让这两个人一起工作?
我目前正在实现与跳棋非常相似的东西.所以,我有这个桌面游戏,有白色和黑色的片断.如果没有白色或黑色的碎片,你就没有碎片.
我现在正在做的GetValidMoves()方法是返回当前电路板可以做的所有当前动作.
因此,我想知道什么是代表董事会的最佳方式.天真的方法是有一个0的1和2的矩阵(没有片,白片和黑片).
其他想法是代替电路板的矩阵表示,有2个列表(或任何其他数据结构):一个用于黑色,另一个用于白色.
我正在实现这个游戏来测试一些AI算法,所以我主要关心的是速度.我基本上会让2个AI玩家互相玩,每回合每个玩家应该有一个他所有有效动作的列表,然后他会选择要做的动作,这一直发生直到比赛结束(某些玩家获胜或者有一个领带).
PS:我不是在询问AI算法,我只想知道处理电路板的最佳数据结构是什么,这样就可以轻松实现
阅读关于jQuery性能的另一个SO问题,我开始考虑使用事件委托而不是单独绑定元素的重要性.我主要考虑的是jQuery,但我认为它可能适用于Javascript.
事件授权有两个主要目的:
我的问题是关于其中的第二个问题.一般的答案可能是"它取决于确切的情况",但我想知道是否有经验法则或基准测试方法来测试这一点.
所以,问题是:在事件委托的性能优势超过性能成本之前,您需要多少元素?
javascript performance jquery event-delegation jquery-events
是否可以在python中声明函数并在以后或在单独的文件中定义它们?
我有一些代码:
class tata:
def method1(self):
def func1():
# This local function will be only used in method1, so there is no use to
# define it outside.
# Some code for func1.
# Some code for method1.
Run Code Online (Sandbox Code Playgroud)
问题是代码变得混乱且难以阅读.所以我想知道是否有可能在func1内部声明method1并在以后定义它?
我的经验告诉我,给定一个对象:
class Object
{
private:
static int array[];
public:
Object(int id);
};
int Object::array[] = { 2937, 892 };
Object::Object(int id)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
初始化array将在调用任何方法之前Object或在程序中的任何其他对象上调用任何方法,无论是否声明对象static.
基本上,我要问的是,有人不同意静态简单C类型(非对象),如char,short和int,以及long(没有构造函数由这些类型构成的结构)在可执行文件加载到内存中时,在main()之前被初始化或者调用任何其他构造函数?
当我向a添加子视图UIView时,或者当我调整现有子视图的大小时,我希望[view sizeToFit]并[view sizeThatFits]反映出这种变化.但是,我的经验是sizeToFit什么都不做,并sizeThatFits在更改之前和之后返回相同的值.
我的测试项目有一个包含单个按钮的视图.单击该按钮会向视图添加另一个按钮,然后调用sizeToFit包含视图.在添加子视图之前和之后,视图的边界将转储到控制台.
- (void) logSizes {
NSLog(@"theView.bounds: %@", NSStringFromCGRect(theView.bounds));
NSLog(@"theView.sizeThatFits: %@", NSStringFromCGSize([theView sizeThatFits:CGSizeZero]));
}
- (void) buttonTouched {
[self logSizes];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(10.0f, 100.0f, 400.0f, 600.0f);
[theView addSubview:btn];
[theView sizeToFit];
[self performSelector:@selector(logSizes) withObject:nil afterDelay:1.0];
}
Run Code Online (Sandbox Code Playgroud)
输出是:
2010-10-15 15:40:42.359 SizeToFit[14953:207] theView.bounds: {{0, 0}, {322, 240}}
2010-10-15 15:40:42.387 SizeToFit[14953:207] theView.sizeThatFits: {322, 240}
2010-10-15 15:40:43.389 SizeToFit[14953:207] theView.bounds: {{0, 0}, {322, 240}}
2010-10-15 15:40:43.391 SizeToFit[14953:207] …Run Code Online (Sandbox Code Playgroud) 当我将鼠标悬停在图像上时,我试图让按钮出现.以下作品:
jQuery('.show-image').mouseenter(function() {
jQuery('.the-buttons').animate({
opacity: 1
}, 1500);
}).mouseout(function() {
jQuery('.the-buttons').animate({
opacity: 0
}, 1500);
});
Run Code Online (Sandbox Code Playgroud)
然而,当从图像移动到按钮(在图像上方)时,鼠标输出/鼠标中心被触发,因此按钮淡出然后淡入(按钮与图像具有相同的类别,否则它们只会保持褪色出).如何防止这种情况发生?我也使用jQuery的悬停尝试了上面的代码; 相同的结果.这是图像的细节,显示了不透明度为1的按钮(因为我在图像上方):
http://i.stack.imgur.com/egeVq.png
在此先感谢您的任何建议.