小编Ste*_*rst的帖子

在Excel或OpenOffice中的公共列上加入两个电子表格

我有两个带有公共列的CSV文件,我想在公共列上"连接"表.

例如:加入'A'与'B'等于'Result'.如果一个表具有在另一个表中不存在的键值,则其刚刚保留为空白.

== Table A ==        == Table B ==        == Table result ==
Name  ,Age           Name  ,Sex           Name ,Age ,Sex
Bob   ,37     +      Bob   ,Male     =>   Bob  ,37  ,Male
Steve ,12            Steve ,Male          Steve,12  ,Male
Kate  , 7                                 Kate , 7  , 
                     Sara  ,Female        Sara ,    ,Female 
Run Code Online (Sandbox Code Playgroud)

我知道如何使用SQL数据库执行此操作但我从未使用"Excel"或"OpenOffice.org Calc"执行此操作

建议?

sql excel openoffice.org openoffice-calc

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

迭代JsonCpp中的对象

我有一个C++应用程序,它使用jsoncpp来解码JSON字符串.我创建了以下函数,但它只显示了顶级对象...

如何让它转储整个对象列表?

- 功能 -

SaveJSON( json_data ); 

bool CDriverConfigurator::PrintJSONTree( Json::Value & root, unsigned short depth /* = 0 */) 
{
    printf( " {type=[%d], size=%d} ", root.type(), root.size() ); 

    if( root.size() > 0 ) {
        for( Json::ValueIterator itr = root.begin() ; itr != root.end() ; itr++ ) {
            PrintJSONTree( itr.key(), depth+1 ); 
        }
        return true;
    }

    // Print depth. 
    for( int tab = 0 ; tab < depth; tab++) {
        printf( "-"); 
    }

    if( root.isString() ) {
        printf( …
Run Code Online (Sandbox Code Playgroud)

c++ json jsoncpp

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

Python为什么要使用[:] over =

我正在学习python,我将通过https://developers.google.com/edu/python/strings上的教程

在" 字符串切片"部分下

s [:]是'Hello' - 省略两者总是给我们一个整体的副本(这是复制像字符串或列表的序列的pythonic方式)

出于好奇,你为什么不使用=运营商呢?

s = 'hello';
bar = s[:] 
foo = s 
Run Code Online (Sandbox Code Playgroud)

至于我可以告诉双方bar,并foo具有相同的值.

python python-3.x

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

函数名__func__的预定义宏

我正在尝试构建一个调试日志消息函数,该函数记录调用日志消息的位置的文件,行和函数.

#define DEBUG_PANIC(p) CLogging::Debuglogf( "Debug marker (%s) - ::%s() in file: %s(%d)", p, __func__ , __FILE__, __LINE__ );
Run Code Online (Sandbox Code Playgroud)

上面的代码适用于某些编译器,但不是全部.我的代码需要与GCC以及Microsoft Visual工作室交叉兼容.我已添加以下定义以帮助兼容性.

#ifndef __FUNCTION_NAME__
    #if defined __func__ 
        // Undeclared 
        #define __FUNCTION_NAME__   __func__ 
    #elif defined __FUNCTION__ 
        // Undeclared
        #define __FUNCTION_NAME__   __FUNCTION__  
    #elif defined __PRETTY_FUNCTION__
        // Undeclared
        #define __FUNCTION_NAME__   __PRETTY_FUNCTION__
    #else
        // Declared
        #define __FUNCTION_NAME__   "N/A"   
    #endif // __func__ 

#endif // __FUNCTION_NAME__

#define DEBUG_PANIC(p) CLogging::Debuglogf( "Debug marker (%s) - ::%s() in file: %s(%d)", p, __FUNCTION_NAME__, __FILE__, __LINE__ );
Run Code Online (Sandbox Code Playgroud)

上面代码片段的问题在于#else宏在所有编译器上都处于活动状态,而其他宏则没有.换句话说#if defined __func__,在编译器上是假的,其中__func__ …

c++ gcc visual-studio c-preprocessor

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

在PHP中的年份和星期

我从MySQL数据库中提取了两条信息,即年份(2009年,2010年,等)和(1-52).我需要将其转换为日期开始和日期结束..

例如:

Year=2010, Week=1 would be (Friday, Jan 1st, 2010) - (Sunday, Jan 3rd, 2010)
Year=2010, Week=33 would be (Monday, Aug 16th, 2010) - (Sunday, Aug 22nd, 2010)
Year=2010, Week=34 would be (Monday, Aug 23rd, 2010) - (Sunday, Aug 29th, 2010)
Run Code Online (Sandbox Code Playgroud)

我将如何在PHP中执行此操作?

php date

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

SQL内连接两个具有相同列名的表

我有两个表,列数可变.(我不知道有多少列或有什么名称)例如表A和表B.

表A:

ID | B_ID | {variable} 
Run Code Online (Sandbox Code Playgroud)

表B

ID | {variable} 
Run Code Online (Sandbox Code Playgroud)

查询:

SELECT TableA.*, TableB.* FROM TableA INNER JOIN TableB ON TableA.B_ID= TableB.id;
Run Code Online (Sandbox Code Playgroud)

当TableA和TableB都具有相同名称的列时,我无法区分两个不同的列.例如,两个表都有"Name"列,此查询将导致:

ID | ID | B_ID | NAME | NAME |
 1 | 35 | 35   | bob  | jim  |
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是一种区分两个表的方法.优选地具有列名称的优选,例如.

TableA_ID | TableB_ID | TableA_B_ID | TableA_NAME | TableB_NAME |
        1 |        35 |          35 |         bob |         jim |
Run Code Online (Sandbox Code Playgroud)

我知道"AS"关键字,但问题是我不知道列名将是什么.(我不知道TableA或TableB是否会有列Name)

所以我的问题是

当表可能具有相同的列名时,如何使用INNER JOIN区分两个表之间的列?

我正在使用SQLite3.

sql sqlite

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

使用FOpen*的SQLite VFS实施指南

我将使用FOpen,FRead,FWrite,FSeek和FClose为Netburner嵌入式设备(非Windows)实现自定义VFS(虚拟文件系统).我很惊讶我找不到可用的VFS的FOpen*版本.这将使嵌入式设备的便携性更高.

我在http://sqlite.org/c3ref/vfs.html上找到了有关为SQLite创建VFS的一些信息, 但信息非常详细,我还有很多关于实现的问题.

我在Winite,OS2,Linux的SQLite源代码中有一些示例VFS,但它们没有很多注释,只有源代码.

我可以使用上面链接中提供的信息和示例来创建我的自定义VFS,但我确信如果我这样做,我会错过一些东西.

我的问题是:

  • 是否还有关于我缺少的SQLite VFS的文档?也许是一个实施指南?
  • 是否有可用的SQLite VFS的Fopen版本?
  • 一旦我创建了自定义SQLite VFS,是否有单元测试代码可用于测试我的自定义SQLite VFS?
  • 您希望分享的实施SQLite VFS的建议,意见和经验.

sqlite fopen vfs freertos netburner

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

.htaccess重定向包含空格的网址

我有一个我无法控制的花药网站的链接 http://example.com/one two three.exe

正确的URL是 http://example.com/one_two_three.exe

请注意下划线而不是空格.

我搜索了互联网,发现了.htaccess的代码片段

# Redirect old file path to new file path
Redirect /one%20two%20three.exe http://example.com/one_two_three.exe
Run Code Online (Sandbox Code Playgroud)

我将此片段添加到文件顶部的预先存在的根.htaccess中.
但它似乎没有用.我的浏览器没有重定向,我得到一个404错误页面.

我相信它与原始URL中的空格有关,但我不知道如何处理URL中的空格.

建议?

.htaccess redirect

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

从Delphi中的c ++ DLL调用函数

我在VS2010中创建了一个新的c ++ DLL项目,它暴露了1个函数

#include "stdafx.h"    
#define DllImport   extern "C" __declspec( dllimport )
#define DllExport   extern "C" __declspec( dllexport )    
DllExport int DoMath( int a, int b) {
    return a + b ; 
}
Run Code Online (Sandbox Code Playgroud)

然后我用VS2010创建了一个C++应用程序来测试这个DLL.在VS2010中构建的测试应用程序可以调用c ++ DLL并获得预期的结果.

#include "stdafx.h"
#include <windows.h>

typedef int (*DoMath)(int, int) ; 
int _tmain(int argc, _TCHAR* argv[])
{
    HMODULE hMod = LoadLibrary ("exampleDLL.dll");
    if (NULL != hMod) {
        DoMath mf1 = (DoMath) GetProcAddress(hMod,"DoMath");
        if( mf1 != NULL ) {
            printf ("DoMath(8,7)==%d \n", mf1(8,7) );   
        } else { …
Run Code Online (Sandbox Code Playgroud)

c++ delphi dll delphi-7

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

sprintf_s,缓冲区太小

以下代码导致错误并导致我的应用程序死亡.这是有道理的,因为缓冲区只有10个字节长,文本长度为22个字节(缓冲区溢出).

char buffer[10];    
int length = sprintf_s( buffer, 10, "1234567890.1234567890." ); 
Run Code Online (Sandbox Code Playgroud)

我如何捕获此错误,以便我可以报告它而不是崩溃我的应用程序?

编辑:

阅读下面的评论后,我选择_snprintf_s.如果它返回-1值,则缓冲区未更新.

length = _snprintf_s( buffer, 10, 9, "123456789" );
printf( "1) Length=%d\n", length ); // Length == 9

length = _snprintf_s( buffer, 10, 9, "1234567890.1234567890." );
printf( "2) Length=%d\n", length ); // Length == -1

length = _snprintf_s( buffer, 10, 10, "1234567890.1234567890." );
printf( "3) Length=%d\n", length ); // Crash, it needs room for the NULL char 
Run Code Online (Sandbox Code Playgroud)

c error-handling printf tr24731

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