wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1923回复:18

这个缓冲区的字符串怎么操作?

楼主#
更多 发布于:2002-08-09 10:59
在SDK环境下设置的字符串缓冲区TCHAR tchBuffer[1024]

需要替换里面的字符,应该怎么实现?给分。
我爱夏天。
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-09 11:16
没看懂你想做什么
Go,go ahead
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-08-09 11:21
 LPTSTR lpszSystemInfo;      // pointer
TCHAR tchBuffer[1024];   // buffer for string
lpszSystemInfo = tchBuffer;
现在lpszSystemInfo 指向存有字符串的tchBuffer,我想替换tchBuffer里面的一些字符,怎么做?
我爱夏天。
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-09 13:11
昏倒
用下标不行吗
Go,go ahead
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-09 13:22
对阿,怎么还有问题?
我不仅要金子,我还要点石成金的手指!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-08-09 13:48
这个,这个,看C的书吧。
分还是留着给自己好了。
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2002-08-09 14:16
最愚蠢的是,使用下标出错了 :(
我爱夏天。
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-08-09 14:26
#include \"stdafx.h\"
#define BUFSIZE 1024


int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 
   LPTSTR lpszSystemInfo;      // pointer to system information string
   DWORD cchBuff = 256;        // size of computer or user name
   TCHAR tchBuffer[BUFSIZE];   // buffer for string
   TCHAR newbuf[BUFSIZE];

  // DWORD dwResult;             // function return value
   lpszSystemInfo = tchBuffer;
   GetWindowsDirectory(lpszSystemInfo, MAX_PATH+1);
   int j=0;
   for(int i=0;i<BUFSIZE&&lpszSystemInfo!=0;i++)
   {
  if(lpszSystemInfo==\'\\\' )

  {
           newbuf[j++]=\'\\\\\';
  }
           else if(lpszSystemInfo!=0)
  {
               newbuf[j]=lpszSystemInfo;
  }
             else
             newbuf[j]=0;

   }
     if(newbuf!=0)
        MessageBox(NULL,newbuf,\"gotit\",MB_OK);

   // TODO: Place code here.

return 0;
}
错在哪里?
我爱夏天。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-08-09 14:42
faint++!
试for(int i=0;(i<BUFSIZE) && (lpszSystemInfo++) != 0;i++)
你的pointer增加过吗?
为什么不直接用tchBuffer?
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-08-09 14:47
error C2001: newline in constant
error C2143: syntax error : missing \')\' before \'{\'

上面是两个错误提示,对应
 if(lpszSystemInfo==\'\\\' )
和其下一行。
和指针的增减无关
我爱夏天。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2002-08-09 14:55
.....我不想说了。
好好看C书先。
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-09 15:06
for(int i=0;i<BUFSIZE&&lpszSystemInfo!=0;i++)
{
if(lpszSystemInfo==\'\\\' )

{
newbuf[j++]=\'\\\\\';
}


其中
应该改为
if(lpszSystemInfo == \'\\\\)\';
{
newbuf[j++]=\'\\\\\';
newbuf[j++]=\'\\\\\';
}
我可能昨天没说明白,单个的\\表示转义,比如\\n便是回车换行,想要表示\\字符必须要写成\\\\,比如字符串\"aa\\\\bb\"输出来是aa\\bb
而你调用函数得到的路径如果输出是C:\\aa\\bb。则保存的本身就已经是C:\\\\aa\\\\bb字符串。我不知道你为什么还要再添一个\\


[编辑 -  8/9/02 by  trent]

[编辑 -  8/9/02 by  trent]
我不仅要金子,我还要点石成金的手指!
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-08-09 15:07
for(int i=0;i<BUFSIZE&&lpszSystemInfo!=0;i++)
{
if(lpszSystemInfo==\'\\\' )

{
newbuf[j++]=\'\\\\\';
}


其中
应该改为
if(lpszSystemInfo==\'\\\\\';(是斜杆,不知道怎么显示成竖杆)
{
newbuf[j++]=\'\\\\\';
newbuf[j++]=\'\\\\\';
}
我可能昨天没说明白,单个的\\表示转义,比如\\n便是回车换行,想要表示\\字符必须要写成\\\\,比如字符串\"aa\\\\bb\"输出来是aa\\bb
而你调用函数得到的路径如果输出是C:\\aa\\bb。则保存的本身就已经是C:\\\\aa\\\\bb字符串。我不知道你为什么还要再添一个\\
 
我不仅要金子,我还要点石成金的手指!
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-08-09 15:14
靠,怎么回事,我写的代码跟我看到的不一样。


if(lpszSystemInfo == \'\\\\)
{
newbuf[j++]=\'\\\\\';
newbuf[j++]=\'\\\\\';
}

其中的lpszSystemInfo后面有个下标,我刚才死活显示不出来
 :mad:
我不仅要金子,我还要点石成金的手指!
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
14楼#
发布于:2002-08-09 15:15
[quote]for(int i=0;i<BUFSIZE&&lpszSystemInfo!=0;i++)
{
if(lpszSystemInfo==\'\\\' )

{
newbuf[j++]=\'\\\\\';
}


其中
应该改为
if(lpszSystemInfo==\'\\\\\';(是斜杆,不知道怎么显示成竖杆)
{
newbuf[j++]=\'\\\\\';
newbuf[j++]=\'\\\\\';
}
我可能昨天没说明白,单个的\\表示转义,比如\\n便是回车换行,想要表示\\字符必须要写成\\\\,比如字符串\"aa\\\\bb\"输出来是aa\\bb
而你调用函数得到的路径如果输出是C:\\aa\\bb。则保存的本身就已经是C:\\\\aa\\\\bb字符串。我不知道你为什么还要再添一个\\
 
[/quote]
真的很感谢,我以前一行程序都没有写过,所以给添麻烦了。
我爱夏天。
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-08-09 15:15
靠,还是没显示出来,疯了
我不仅要金子,我还要点石成金的手指!
wsgfaust
驱动小牛
驱动小牛
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
16楼#
发布于:2002-08-09 15:19
给分,感谢trent的无私。
我爱夏天。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
17楼#
发布于:2002-08-09 15:21
这种的话,关掉  BBCode功能。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
18楼#
发布于:2002-08-09 15:25
 [url]http://www.driverdevelop.com/forum/html_19006.html?1028877885 [/url]
游客

返回顶部