C 如何在WIN32 API中使用trim()文本LPWSTR类型

C 如何在WIN32 API中使用trim()文本LPWSTR类型,c,string,winapi,trim,C,String,Winapi,Trim,我有:LPWSTR str=“Nguyen Phong Sac” 如何修剪str。 它的意思是:试试这个。请注意,此功能尚未经过深思熟虑的测试,它只是为了获得想法 void Trim(TCHAR *buffer) { int i = 0; while (buffer[i++] == ' ' && buffer[i] != 0) { } int first = i - 1 ; i = lstrlen(buffer) ; while (buff

我有:
LPWSTR str=“Nguyen Phong Sac”
如何修剪str。
它的意思是:试试这个。请注意,此功能尚未经过深思熟虑的测试,它只是为了获得想法

void Trim(TCHAR *buffer)
{
  int i = 0;

  while (buffer[i++] == ' ' && buffer[i] != 0) 
  {
  }

  int first = i - 1 ;

  i = lstrlen(buffer)  ;

  while (buffer[--i] == ' ' && i > 0) 
  {
  }

  int last = i + 1 ;

  int j = 0 ;
  for (i = first; i <= last - first; i++)
    buffer[j++] = buffer[i] ;

  buffer[j] = 0 ;
}
void Trim(TCHAR*buffer)
{
int i=0;
while(buffer[i++]=''&&buffer[i]!=0)
{
}
int first=i-1;
i=lstrlen(缓冲器);
而(缓冲区[--i]=''&&i>0)
{
}
int last=i+1;
int j=0;

for(i=first;i您使用的是什么语言?出于什么原因,这个问题中唯一一行“code”是不正确的。它是一个宽字符串。此外,文本是只读的(或者至少应该是只读的),但被分配给读/写指针变量(类型错误)使用IS空格会更好,在我的VIEWT中不是更好,这些古老的C运行时函数不能很好地处理Unicode。至少使用ISWStuleAuy(),但是要考虑Unicode中的什么字形被CRT视为空间字符。有很多。