控制输出数据占空格个数

给出一个英文单词,要求前面有几个空格,后面有几个空格,这种要运用什么来进行控制

1 取得单词长度len
2 记录没遇到字符 遇到第一个空格的位置 front_spa_pos_start
3 记录遇到第一个字符的位置 word_pos_start
4 记录字符结束的位置word_pos_end
5 记录后边原有空格的个数
6 在最后补全或删除空格

// caimi7.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <string>
int _tmain(int argc, _TCHAR* argv[])
{
    char word[] = "    kailadescope ";

    printf("%s", word);
    printf("\n");

    int ilen = strnlen(word, sizeof(word));
    char cTemp = ' ';
    bool bFound_spa = false;
    bool bFound_wrodstart = false;

    int iWordCount = 0;
    int word_pos_start = 0;
    int word_pos_end = 0;
    int front_spa_pos_start = 0;

    for (int i = 0; i < ilen; i++)
    {
        cTemp = *(word + i);
        if ((cTemp - ' ') == 0)
        {
            if (bFound_spa == false)
            {
                bFound_spa = true;
                front_spa_pos_start = i;
            }
            else if (bFound_spa==true)
            {
                word_pos_end = i;
            }
        }
        else if ((cTemp>='a' && cTemp<='z') || (cTemp>='A' && cTemp<='Z'))
        {
            if (bFound_wrodstart == false)
            {
                bFound_wrodstart = true;
                word_pos_start = i;
            }
            iWordCount++;
        }
    }
    // 前面有空格数
    int iFrontSpaNum = word_pos_start - front_spa_pos_start;

    char newWord[WCHAR_MAX] = { '\0'};

    memcpy(newWord, word, word_pos_end+1);

    for (int i = 0; i < iFrontSpaNum; i++)
    {
        memcpy(newWord + word_pos_end + i, " ", 1);
    }
    printf("前面有%d个空格", iFrontSpaNum);
    printf("\n");
    printf("%s", newWord);

    _tsystem(L"pause");
    return 0;
}



img