Winforms 字符串中每两个字符的间距?

Winforms 字符串中每两个字符的间距?,winforms,visual-c++,Winforms,Visual C++,我的字符串是“37829300” 如何将字符串中的每2个字符隔开,使结果为“37829300” 我正试图在vc++中实现这一点 谢谢 我知道我可能必须使用#include iostream,但我不知道如何正确地使用它。找不到一个奇特的单行正则表达式,所以让我们用手动方式来实现它 private static string AddSpaceAfterTwoDigits(string input) { string output = string.Empty; MatchCollec

我的字符串是“37829300”

如何将字符串中的每2个字符隔开,使结果为“37829300”

我正试图在vc++中实现这一点

谢谢


我知道我可能必须使用#include iostream,但我不知道如何正确地使用它。

找不到一个奇特的单行正则表达式,所以让我们用手动方式来实现它

private static string AddSpaceAfterTwoDigits(string input)
{
    string output = string.Empty;
    MatchCollection arr = Regex.Matches(input, @"\d\d");
    if ( arr.Count > 0 )
    {
        output = arr[0].Groups[0].Value; // Add the first with no space

        for ( int i = 1; i < arr.Count; i++ )
        {
            output += " " + arr[i].Groups[0].Value;
        }
    }

    return output;
}
私有静态字符串addSpaceAfterwoDigits(字符串输入)
{
字符串输出=string.Empty;
MatchCollection arr=Regex.Matches(输入@“\d\d”);
如果(阵列计数>0)
{
output=arr[0]。组[0]。值;//添加没有空格的第一个
对于(int i=1;i
  • 代码是用C#编写的,但它是到C++/CLI的一种相当直接的转换
  • 代码假定输入的位数为偶数

  • < /UL> WiFrsC++ + CLI还是MFC VC++?有什么特殊的原因,这是标记为“WiFrm”?因为我在C代码中,我会尝试转换成C++。我目前拥有sHexPic=string_to_hex(sPic);插入(sHexPic.begin()+2',);插入(2“”);但这段代码所做的只是在第二位数字后输入一个空格。我需要找到一种循环代码的方法。谢谢你的c代码。我用我的代码重新创建了一个线程,并试图更好地解释我的情况。