小编blc*_*llo的帖子

Python ftplib超时

我正在尝试使用ftplib获取文件列表并下载自我上次检查以来的任何新文件.我到目前为止尝试运行的代码是:

#!/usr/bin/env python
from ftplib import FTP
import sys

host = 'ftp.***.com'
user = '***'
passwd = '***'

try:
    ftp = FTP(host)
    ftp.login(user, passwd)
except:
    print 'Error connecting to FTP server'
    sys.exit()

try:
    ftp.retrlines('LIST')
except:
    print 'Error fetching file listing'
    ftp.quit()
    sys.exit()

ftp.quit() 
Run Code Online (Sandbox Code Playgroud)

每当我运行它时,当我尝试检索列表时它会超时.有任何想法吗?

python ftplib

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

从C数学库的pow功能获得警告

我的代码中有以下功能:

int numberOverflow(int bit_count, int num, int twos) {
    int min, max;
    if (twos) {
        min = (int) -pow(2, bit_count - 1);        \\ line 145
        max = (int) pow(2, bit_count - 1) - 1;
    } else {
        min = 0;
        max = (int) pow(2, bit_count) - 1;         \\ line 149
    }
    if (num > max && num < min) {
        printf("The number %d is too large for it's destination (%d-bit)\n", num, bit_count);
        return 1;
    } else {
        return 0;
    } …
Run Code Online (Sandbox Code Playgroud)

c math warnings compiler-warnings

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

生成卡片组

我正在尝试制作一个简单的二十一点程序.可悲的是,我现在遇到了问题,产生了一副牌.

#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<char> deck;
    char suit[] = {'h','d','c','s'};
    char card[] = {'2','3','4','5','6','7','8','9','10','J','Q','K','A'};
    for (int j=0; j<13; j++) {
        for (int i=0; i<4; i++) {
            deck.push_back(card[j] suit[i]);
        }       
    }

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

我知道我的问题始于我试图将值'10'分配给char.显然我无法编译,但我确定当我尝试将卡值分配给矢量卡时我也会收到错误,因为我使用了变量类型'char'.知道使用什么样的变量类型似乎在扼杀我.还有'deck.push_back(card [j] suit [i]);' 是卡和套装相结合的正确代码,还是你必须在卡[j]和套装[i]之间放一些东西?如果你们中的任何人能够带领我朝着正确的方向前进,我将不胜感激.另外作为一个侧面说明,这是家庭作业的一部分,所以请不要只给我整个代码块.谢谢你的帮助.

c++

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

C++中的双链表

我有一项任务要求我们实现双向链表类.出于某种原因,他们将节点定义struct如下:

struct node {
  node   *next;
  node   *prev;
  T      *o;
};
Run Code Online (Sandbox Code Playgroud)

在我看来,如果struct成员'data'不是指针,那么编写类会容易得多.不用说我无法改变它所以我将不得不解决它.我尝试实现将元素添加到列表开头的方法,如下所示:

template <typename T>
void Dlist<T>::insertFront(T *o) {
    node *np = new node;
    T val = *o;

    np->o = &val;
    np->prev = NULL;
    np->next = first;

    if (!isEmpty()) {
        first->prev = np;
    } else {
        last = np;
    }
    first = np;
}
Run Code Online (Sandbox Code Playgroud)

在使用ddd进行调试的时候,我意识到第一次插入数字时一切正常,但第二次绕过一切都搞砸了,因为一旦你将'val'设置为新元素,它就会"覆盖"第一个自记忆以来使用了val的地址.我尝试做其他事情,而不是只是让'val'变量执行以下操作:

T *valp = new T;
T val;
valp = &val;
val = *o;

np->o = valp
Run Code Online (Sandbox Code Playgroud)

这似乎也没有用.我认为这是因为它只是一个更复杂的形式,我上面做的只是额外的内存泄漏:)

任何正确方向的想法/指针都会很棒.

c++ pointers linked-list

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

在C++中声明if-else块中的变量

我试图在if-else块中声明一个变量,如下所示:

int main(int argc, char *argv[]) {

    if (argv[3] == string("simple")) {
        Player & player = *get_Simple();
    } else if (argv[3] == string("counting")) {
        Player & player = *get_Counting();
    } else if (argv[3] == string("competitor")) {
        Player & player = *get_Competitor();
    }

    // More code
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译时,我遇到以下错误:

driver.cpp:38:错误:未使用的变量'
player'driver.cpp:40:错误:未使用的变量'
player'driver.cpp:42:错误:未使用的变量'
player'driver.cpp:45:错误:'player'在这方面没有申明

有任何想法吗?

c++ variables if-statement

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

Google App Engine检索用户定义的密钥名称

有没有办法检索您使用以下设置的密钥名称:

Model(
  key_name = ...
  ...
)
Run Code Online (Sandbox Code Playgroud)

我尝试使用key()方法,但返回Google制作的方法.

google-app-engine key

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

在Google Maps API v3中获取折线的边界

有没有简单的方法可以使用Google Maps API v3找到折线的边界框?我正在开发一个项目,我需要在地图中添加和删除数据时更新边界.只需执行bd.extend(point)就可以轻松实现这一点,其中bd是绑定对象,point是LatLng对象.问题是,当我开始删除数据时,我希望它能够更改边界并放大.是否有任何内置函数可以执行此操作或者我是否需要为自己编写内容?

google-maps bounding-box polyline bounds google-maps-api-3

6
推荐指数
2
解决办法
8196
查看次数

解除分配存储在向量中的对象?

我有一个创建对象矢量的类.在这个类的解构函数中,我试图释放分配给对象的内存.我试图通过循环遍历向量来做到这一点.所以,如果向量被称为map我正在做:

Building::~Building() {
    int i;
    for (i=0; i<maps.size(); i++) {
        delete[] &maps[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序段错误,同时释放内存.我认为我所做的实际上是删除存储对象的数组而不是对象本身.它是否正确?如果没有任何关于我做错的想法?

c++ memory-management vector

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

什么时候需要在c ++中使用#include

我已经编程了一段时间了,而且我还没有想到的一件事就是你需要的#include东西.我知道你可以安全地使用另一个文件中声明的东西.但有时我发现我可以删除一个#include,所有东西仍然可以正常编译.据我所知,这是因为已经包含的其他文件包括外部定义.有两种特殊情况我有兴趣了解以下行为:

  1. 假设我们有三个.h/.cc对:f1.h/.cc,f2.h/.cc和f3.h/.cc.如果f2.h/.cc包含f1.h且f3.h/.cc包含f2.h,则f3.h/.cc必须包含f1.h或者所有f1.h的定义都可见f3文件包含在f2中?

  2. 再次说我们有三个.h/.cc对:f1.h/.cc,f2.h/.cc和f3.h/.cc.如果f2包括f1并且f2包括f1然后f3包括f1或f2,那么f1和f2之间的"循环连接"会引起问题吗?

您是否了解我可以阅读的任何在线资源,以便更好地了解在一个文件中包含某些内容会如何影响项目中的后续文件?

c++ include c-preprocessor

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

从类方法调用"外部"函数

我有一个函数,我想从类方法中调用.该函数位于名为mergeSort.cpp的文件中.以下是该类实现的.cpp文件的片段:

// other includes
#include "mergeSort.cpp"

// other methods
void Servers::sortSites() {
 mergeSort(server_sites.begin(), server_sites.end(), siteCompare);
}
// remaining methods 
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我得到错误,说无法找到mergeSort.我认为这是因为它试图调用Servers :: mergeSort.我怎么去调用外部函数?

c++ methods class function

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