小编kdo*_*pen的帖子

如何使用 Ctrl-D 终止程序?

我正在尝试编写一个模拟计算器的简单程序。我希望程序在按下Ctrl+D键时退出或关闭。我搜索了 stackoverflow 并看到了Ctrl+CCtrl+ 的其他示例,A但这些示例是在 java 和 C 中的。

对于 C:

(scanf("%lf", &var);
Run Code Online (Sandbox Code Playgroud)

对于 java,按下+SIGINT时会引发a 。 CtrlZ

signal(SIGINT,leave);  
    for(;;) getchar();
Run Code Online (Sandbox Code Playgroud)

我想知道我可以为C++ 中的Ctrl+做什么D...

谢谢大家!

c++ exit-code

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

将图例添加到散点图中

这个问题已在SO上提出,但我想找到一个更清晰的解决方案.

给定X是100x2数据,标签是标签向量(从1到9)我绘制散点图如下:

pl.scatter(X[:,0], X[:,1], c = labels)
pl.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何添加图例来解释一行代码中的颜色?其他解决方案分别绘制每个标签

a = pl.scatter(X1[:,0], X1[:,1], color = "red")
b = pl.scatter(X2[:,0], X2[:,1], color = "green")
c = pl.scatter(X3[:,0], X3[:,1], color = "blue")
pl.legend((a,b,c), ("line 1", "line 2", "line 3")
pl.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib legend scatter-plot

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

带有重复键或无的Python字典

我在python中有一个类,我有一个包含邻居的dict,以及一个pri_list包含21个类实例的列表,但如果我遍历邻居,我会得到重复的密钥或None.

print type(self.neighbors)
print str(self.id) + " " + str(self.neighbors)
print ""
for n in self.neighbors:
    print str(pri_list[n].id) + " " + str(pri_list[n].neighbors)
    pri_list[n].neighbors.update({self.id:self.neighbors[n]})
    print str(pri_list[n].id) + " " + str(pri_list[n].neighbors)
Run Code Online (Sandbox Code Playgroud)

导致

<type 'dict'>
21 {22: 34.348765355132869, 23: 0, 19: 0.049076419727497315, 20: 36.087031068160286}

22 {21: 34.348765355132869, 23: 34.602568871995345, 8: 0.2351466696454737, 17: 0, 20: 0}
22 {21: 34.348765355132869, 23: 34.602568871995345, 8: 0.2351466696454737, 17: 0, 20: 0}
23 {21: 0, 22: 34.602568871995345, 8: 26.643673903936367, 17: 36.80385613689073}
23 {21: …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
0
解决办法
399
查看次数

有没有办法使用visual studio命令提示符进行调试?

我有一个项目需要与3个编译器(Borland,gnu和Microsoft)一起工作.它适用于2/3,现在我只需要使用Microsofts.它似乎在其他编译器工作正常的地方崩溃,所以我想知道是否有一种方法来调试命令行,可能是为了获得堆栈跟踪或得到导致崩溃的线,类似于gdb与gnu.

c c++ visual-studio visual-studio-debugging

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

嵌套的typedef结构

我在尝试嵌套需要声明为新的var类型的结构时遇到问题。代码如下-

typedef struct
{
    typedef struct
    {
        int day,
            month,
            year;
    } Date;

    Date manuDate,
         purDate;
    double purPrice;
} Car;
Run Code Online (Sandbox Code Playgroud)

除了我尝试编译时,它会向我说一个错误

“ typedef之前的语法错误”以及由于该错误而导致的其他错误。

这是C不能做的事情吗?我知道它在没有指针的情况下存在嵌套结构问题,但是我不确定在这种情况下如何工作...

c ansi-c

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

回文检查的递归方法

是否可以使用以下参数列表定义回文检查的递归方法?

int testPalindromeRecursive(char* str, int len) { ... }
Run Code Online (Sandbox Code Playgroud)

注意:不必使用外部子函数或全局变量

我认为这是不可能的,因为你必须以某种方式记住最后(前)索引位置.

c algorithm recursion palindrome

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

如何将日期字符串转换为ISO8601标准?

使用dateutil我能够生成类型的ISO8601, YYYY-MM-DDThh:mm:ssTZD但我想要格式,'YYYY-MM-DDThh:mm:ss.sssTZD'例如'2015-05-13T18:05:55.320-07:00'

我的代码是

from datetime import datetime
from dateutil.parser import *
from dateutil.tz import *
import dateutil
import time

ts = time.time()
utc_offset = (datetime.fromtimestamp(ts) -
           datetime.utcfromtimestamp(ts)).total_seconds()

now = parse("11/10/09 11:20 PM")
now = now.replace(tzinfo=tzoffset('PDT', utc_offset))
Run Code Online (Sandbox Code Playgroud)

和输出是2009-11-10T23:20:00-07:00 如何获得输出的2009-11-10T23:20:00.000-07:00

python datetime python-dateutil

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

为什么从我的函数返回的字符串打印为垃圾?

我试图将字符串转换为大写,例如转换test.pdfTEST.PDF.但是,当我尝试使用打印返回值时printf,它会打印一些垃圾值.我究竟做错了什么?

char *covertToUpper(char *str)
{
    int i = 0;
    int len = 0;

    len = strlen(str);
    char newstr[len+1];

    for(i = 0; str[i]; i++)
    {
       newstr[i] = toupper(str[i]);
    }
    //terminate string
    newstr[i]= '\0';
    return  newstr;
}
Run Code Online (Sandbox Code Playgroud)

c string

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

NpgsqlCommand 中的参数未正确替换

我正在尝试替换字符串中的参数以在 Npgsql 查询中执行。

问题是,当它用字符串中的值替换参数时,它会添加不必要的括号,因此查询会返回错误。

NAME_SCHEMA_DBNAME_ADMIN_DB是字符串常量, ExecuteCommand只需接受NpgsqlCommand并执行它。

这是我的代码:

String qdropSchema = @"DROP SCHEMA IF EXISTS @name_schem CASCADE";
String qCreateSchema = @"CREATE SCHEMA @name_schem AUTHORIZATION @name_admin";


DbCommand commandeDrop = new NpgsqlCommand(qdropSchema);
commandDrop.Parameters.Add(new NpgsqlParameter("@name_schem", NAME_SCHEMA_DB));

DbCommand commandCreate = new NpgsqlCommand(qCreateSchema);
commandCreate.Parameters.Add(new NpgsqlParameter("@name_schem", NAME_SCHEMA_DB));
commandCreate.Parameters.Add(new NpgsqlParameter("@name_admin", NAME_ADMIN_DB));


ExecuteCommand(commandDrop);
ExecuteCommand(commandCreate);
Run Code Online (Sandbox Code Playgroud)

这是它在到达时尝试运行的 SQL 查询ExecuteCommand(commandDrop)

DROP SCHEMA IF EXISTS (('test_schemaName')) CASCADE;

我不确定为什么它添加额外的括号和单引号。通常,我希望它运行的查询是

如果存在则删除架构 test_schemaName CASCADE;

.net c# npgsql

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

如何仅使用标准库编写XML解析器?

我正在编写我的程序,我将导入XML文件并扫描解析器状态(也包括元素,行号,内容).

现在,我已经存储在所有元素和行号vectorstringinteger.

我的问题是,我如何扫描一个属性,最后我能够指出根,孩子和直接孩子?我尝试过使用<map>但仍然没有任何线索.

这里有些例子:

在此输入图像描述

输出将是

在此输入图像描述

如果我使用其他库会很容易,但我只想使用标准的C/C++库.

c++ xml xml-parsing

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

如何在我自己的结构中使用"<<"?

我有以下程序来访问sqlite数据库并将表的内容放入LIST CONTAINER.

我想要的只是打印列表容器中的数据.但是我得到了这个错误.

error: expected primary-expression before ‘<<’ token
Run Code Online (Sandbox Code Playgroud)

以下文件是DBAccess1.cpp

#include <iostream>
#include <sqlite3.h>
#include <list>
#include <iterator>
#include <algorithm>
#include <string>
#include <cstring>
#include <sstream>

#include "DBAccess1.h"

bool sqliteDB::GET_ALL_Site_Code(list<SiteCode>& Site_Code_list)
{
        sqlite3 *db;
        const char *sql;
        sqlite3_stmt * stmt;

        int rc = sqlite3_open("/DBsqlite3/empdbv3.db", &db);

        sql = "SELECT * FROM SiteCode;";

        rc = sqlite3_prepare_v2(db, sql, -1, &stmt, 0);

        while(sqlite3_step(stmt)==SQLITE_ROW) {

             int column = sqlite3_column_count(stmt);

             for(int i = 0; i < column; i++)
             {
                 int A  = sqlite3_column_int(stmt, …
Run Code Online (Sandbox Code Playgroud)

c++ sqlite containers stl

0
推荐指数
1
解决办法
82
查看次数

指针概念

在这里我得到4225440作为arr [0]的地址; 因为它是一个整数数组,地址将增加4,所以下一个将是4225444;

现在

  1. 这些地址是怎么回事
  2. 如果把manualy放在其中一个地址上,它就显示出它来自哪里的荒谬价值.

这是正在讨论的代码

#include <stdio.h>

int arr[10],i,a,*j;
void del(int a);

main()
{
    for(i=0;i<4;i++)
        scanf("%d",&arr[i]);

    j=(int*)4225443;

    for(i=0;i<4;i++)
    {
        printf("\n%d ",arr[i]);
        printf(" %d ",&arr[i]);
    }

    printf(" %d ",*j);
}
Run Code Online (Sandbox Code Playgroud)

c c++

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