小编The*_*777的帖子

找到一个数字并递增它

我想创建一个小的perl脚本,它会在c ++头文件中找到某个声明来修改它.到目前为止,我已经能够创建"查找"部分:

my $buildFile = "..\\Support\\BuildVersion.h";

my @result;
open( File, $buildFile ) or die "Can't open $buildFile.\n";
@result = <File>;
close( File );

print "Updating build version...\n";

open( NEWFOUT, ">", "$buildFile" ) or die "Can't open $buildFile.\n";
foreach( @result )
{
    print $_;
    if( $_ =~ m/#define BUILD_COUNT [0-9]+/ig )
    {
        $_ =~ s/$_/#define BUILD_COUNT 77/;

    }
}
print NEWFOUT @result;
close( NEWFOUT );
Run Code Online (Sandbox Code Playgroud)

所以在我的c ++文件中,我将这个定义命名为BUILD_COUNT.我想在每次构建解决方案之前调用此脚本,以便它将增加1后面的值BUILD_COUNT.我怎么能这样做

perl

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

MatLab中的字符串向量/数组

我想在字符串中创建一个容器(数组,向量,......我不完全知道Matlab中这些之间的区别).我想将它用于显示目的和主要打印到文件.在C++中我会有类似的东西:

std::vector<std::string> str;
str.push_back( "Test1" );
str.push_back( "Test2" );
str.push_back( "Test3" );

for( unsigned int i = 0; i < str.size(); i++ )
{
    printf( "%s\n", str[i].c_str() );
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在Matlab中实现类似的东西,或者甚至是可能的.我已经尝试了一些我在这里和那里找到的东西,但没有任何作用.以下是我尝试过的事情:

str = ['Test1' 'Test2' 'Test3'];

str = ['Test1', 'Test2', 'Test3'];

str = ['Test1'; 'Test2'; 'Test3'];
Run Code Online (Sandbox Code Playgroud)

string matlab

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

C++双下标运算符重载

可能重复:
运算符[] []重载

我在互联网上看了但是找不到这个问题的明确答案所以我在这里.

我知道:operator[][]()不是一个有效的运算符重载,但它是一种重载[] []运算符(vector<vector<typename>>例如用于)的方法.

我需要这个,因为我正在做一个包含矢量矢量的包装类,我本来希望

c++ operator-overloading

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

通过#define宏创建自定义类

我正在尝试使用#define创建一个宏,它允许我按需创建新类.这是我的代码:

#pragma once

#include "PDDefFileReader.h"

#define SET_LANG( lang ) *( new std::string( lang ) ) 

#define LANG( cName, lName )
class cName
{
public:
    cName()
    {
        _langName = SET_LANG( lName );                 <- HERE !!!!
        _reader = new PDDefFileReader( _langName );
    }
    ~cName(){}

    std::string Str(){ return _langName; }

private:
    PDDefFileReader* _reader;
    std::string _langName;
};
Run Code Online (Sandbox Code Playgroud)

所以我想知道如果我想将define的"lName"参数作为std :: string对象,我应该怎么做.现在(在"HERE !!!!"行)我收到错误:

Error: Identifier "lName" is undefined
Run Code Online (Sandbox Code Playgroud)

知道我想做什么是可能的吗?

为了给你一些背景,我正在做一个自定义的多语言阅读器.所以我可以通过以下方式简单地定义新语言:

LANG( Cpp, "cpp" )
LANG( Perl, "pl" )
Run Code Online (Sandbox Code Playgroud)

谢谢 !!

c++ programming-languages

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

让一个单元格在"循环"中引用它自己的值

我有,工作表,3个值(C1,C2,C3).C2并且C3是不变的,不会改变,但我想C4根据C1(从1到50的任何地方)的值更新.

在此输入图像描述

通常我知道如何做这些事情,但我没有想到这一点.这是我想要针对这种特殊情况做的事情:

我希望每个C4等于C3加2.02%*(C2)C1...意味着如果C1 = 1则C4等于C3*1.0202.

我的问题是高于1,我没有找到"递归"调用单元格值的方法,这是我到目前为止所做的:

=IF( $C$1 = 1; C3; C3 * (1+C2))
Run Code Online (Sandbox Code Playgroud)

遗憾的是这不起作用,我还没有找到一个能够做我想要的功能.有这样的数学方法吗?

谢谢,

我试图让它尽可能清楚,不要犹豫,问我是否不清楚!

编辑:

这里结果如何

C1 = 1: 0.625
C1 = 2: 0.625 * 1.0202 = 0.637625
C1 = 3: 0.637625 * 1.0202 = 0.650505025
C1 = 4: 0.650505025 * 1.0202 = 0.663645226505
...
Run Code Online (Sandbox Code Playgroud)

我想使用前面的结果来计算新结果

excel excel-formula

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

从android平台发送UDP数据包

我正在尝试在Android平板电脑上构建UDP客户端.应用程序可以创建一个套接字juste罚款,但当我尝试发送它时:

public void SendMessage( String message )
    {
        sendBuffer = message.getBytes();

        packet = new DatagramPacket( sendBuffer, sendBuffer.length, address, 4445 );
        //packet = new DatagramPacket( sendBuffer, sendBuffer.length, address, port );

        try 
        {
            socket.send( packet );
        } 
        catch (IOException ioe) 
        {
            Log.d( "NETWORK", "Failed to send UDP packet due to IOException: " + ioe.getMessage() );
            ioe.printStackTrace();
        }
        catch( Exception e )
        {
            Log.d( "NETWORK", "Failed to send UDP packet due to Exeption: " + e.getMessage() );
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

Eclipse弹出一个新窗口,说"找不到源",我在LogCat中打印出来:

android.os.NetworkOnMainThreadException
at …
Run Code Online (Sandbox Code Playgroud)

android udp

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

一次为java String添加一个字符

我有一个非常简单的问题,事实上我有点沮丧,我无法自己解决这个问题,但这里是:

strBuffer += arg.charAt( i );
Run Code Online (Sandbox Code Playgroud)

有了这一行,我正在尝试解析一个值,并逐个字符地添加到一个新字符串中.我这样做是为了将一个长字符串分隔成一个较小的字符串数组.

例如,这个字符串

-time delayed -run auto -mode go_n_run
Run Code Online (Sandbox Code Playgroud)

会变成这个阵列

strBuffer [0] = -time 
strBuffer [1] = delayed 
strBuffer [2] = -run 
strBuffer [3] = auto 
strBuffer [4] = -mode 
strBuffer [5] = go_n_run
Run Code Online (Sandbox Code Playgroud)

因此,带有'+ ='的代码行不起作用,我的strBuffer中没有任何内容.所以我在论坛上发现了一些更"复杂"的东西:

strBuffer.concat( new String( new char[]{arg.charAt( i )} ) );
Run Code Online (Sandbox Code Playgroud)

但同样的结果,strBuffer中没有任何内容,

所以,任何提示都将不胜感激

谢谢

编辑:这是完整的方法

String[] args = new String[2 * ARG_LIMIT];
        int index = 0;

        for( int i = 0; i < arg.length(); i++ )
        {
            String strBuffer = new …
Run Code Online (Sandbox Code Playgroud)

java string

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

在Windows和Linux下使用未初始化的值更改

我正在开发一个小的Perl脚本来自动执行某些服务器任务,当我在我的Windows机器上测试它时一切正常,但是当我将它上传到我的Linux服务器时,脚本会返回多个:

Use of uninitialized value $line in chomp at CreateEntity.pl line 52, <HANDLE> line 5.
Use of uninitialized value $line in string ne at CreateEntity.pl line 52, <HANDLE> line 5.
Use of uninitialized value $string in substitution (s///) at CreateEntity.pl line 67, <HANDLE>
Use of uninitialized value $string in substitution (s///) at CreateEntity.pl line 68, <HANDLE>
Use of uninitialized value $string in substitution (s///) at CreateEntity.pl line 67, <HANDLE>
Use of uninitialized value $string in substitution (s///) at CreateEntity.pl line …
Run Code Online (Sandbox Code Playgroud)

perl

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

push_back上的分段错误

我正在创建一个带有一些设计模式的小程序,我正在尝试实现一个单例.在这个单例类中,我有一个包含我自己定义的File对象的向量.

现在,在进行实际的push_back时,我遇到了分段错误.我尝试删除单例模式,push_back工作得很好.我在一个论坛上看到问题可能是由于矢量尚未初始化而引起的.他们的方式是否允许我使用我的矢量和我的单例模式而不会导致分段错误?

编辑:

标题:

class FileManager
{
public:
    static FileManager* GetManager();
    ~FileManager();

    void InitManager();

    void LoadAllTitle();

private:
    FileManager();
    static FileManager* _fileManager;

    std::vector<File> _files;
};
Run Code Online (Sandbox Code Playgroud)

资源:

//C++ Header
#include <iostream>

//C Header

//local header
#include "filemanager.h"
#include "settings.h"
#include "defs.h"
#include "file.h"
#include "utilities.h"

FileManager* FileManager::_fileManager = NULL;

FileManager* FileManager::GetManager()
{
    if( _fileManager )
    {
        _fileManager = new FileManager();
    }

    return( _fileManager );
}

FileManager::FileManager()
{
}

FileManager::~FileManager()
{
}

void FileManager::InitManager()
{
    int numberOfFile = Settings::GetSettings()->NumberOfFile() + 1;
    for( unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ vector segmentation-fault

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