搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 686|回复: 9
收起左侧

这个函数是Unix大神 显摆用的么?

[复制链接]

该用户从未签到

13

主题

13

好友

7298

积分

序章

积分
7298
发表于 2012-10-24 15:55:02 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
char            *pbkslh = NULL;
char            *pcolon = NULL;

   
    if ((pcolon = strchr(shortname, ':')) != NULL)   
    {
    *pcolon = '\0';

    if (*(pcolon - 1) == '\\')
      {
      pbkslh = pcolon - 1;

      *pbkslh = '\0';
      }
    }

      if (pcolon != NULL)
    {
    *pcolon = ':'; /* replace the colon */

    if (pbkslh)
      *pbkslh = '\\';
    }


你究竟想干什么??? 求解释  shortname改过去又改回来?

评分

参与人数 2宅币 +20 收起 理由
Mr_Alex + 10 Σ( ° △ °|||)︴ 碉堡了
风音洛洛 + 10 Σ( ° △ °|||)︴ 碉堡了

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

13

主题

13

好友

7298

积分

序章

积分
7298
 楼主| 发表于 2012-10-25 12:00:46 | 显示全部楼层
wz!!!!!!!!@128-
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

3

好友

490

积分

New Game

积分
490
发表于 2012-10-25 13:35:06 | 显示全部楼层
内存溢出了
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

13

好友

7298

积分

序章

积分
7298
 楼主| 发表于 2012-10-25 15:07:25 | 显示全部楼层
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

3

好友

490

积分

New Game

积分
490
发表于 2012-10-25 21:39:00 | 显示全部楼层
cao884203 发表于 2012-10-25 15:07
没有。。。

VC6.0 在debug模式下试试

[mw_shl_code=cpp,true]#include <iostream>
using namespace std;
int main() {
       
        char shortname[4] = ":";
        unsigned int overflow = 0x5CFFFFFF;

        char            *pbkslh = NULL;
        char            *pcolon = NULL;
               
        printf("%08X\n", overflow);

        if ((pcolon = strchr(shortname, ':')) != NULL)   
        {
        *pcolon = '\0';

        if (*(pcolon - 1) == '\\')
          {
          pbkslh = pcolon - 1;

          *pbkslh = '\0';
          }
        }

        printf("%08X\n", overflow);

          if (pcolon != NULL)
        {
        *pcolon = ':'; /* replace the colon */

        if (pbkslh)
          *pbkslh = '\\';
        }
       
    return 0;
}
[/mw_shl_code]
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

13

好友

7298

积分

序章

积分
7298
 楼主| 发表于 2012-10-26 09:39:22 | 显示全部楼层
tpu01yzx 发表于 2012-10-25 21:39
VC6.0 在debug模式下试试

[mw_shl_code=cpp,true]#include

机子上没有VC。。。 但是用其他编译器跑都没有问题
可能你的赋值 char shotname = “:”,strchr返回字符数组的首地址, 之后再做取pcolon-1上一地址内存分配的值,他是未知的,泄露了吧
但是不论上一地址分配的什么,都不影响shortname,后来他完全复原了。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

3

好友

490

积分

New Game

积分
490
发表于 2012-10-30 20:21:55 | 显示全部楼层
cao884203 发表于 2012-10-26 09:39
机子上没有VC。。。 但是用其他编译器跑都没有问题
可能你的赋值 char shotname = “:”,strchr返回字 ...

你是看出来了,不过这要是在多线程环境下的实时系统就很容易崩溃!anyway,你这代码在哪里看到的?
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

2

好友

777

积分

New Game

积分
777
发表于 2012-11-2 03:53:16 | 显示全部楼层
看起来像是说如果shotname里面有" \:"这样的字符组合,则将第一次出现" \:"之后的所有内容删除
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

22

好友

7919

积分

序章

积分
7919
发表于 2012-12-27 20:13:04 | 显示全部楼层
好吧,我想说我看不懂,,保存起来.研究下.
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

3

主题

12

好友

7526

积分

LOLI控

积分
7526
发表于 2012-12-28 00:56:51 | 显示全部楼层
zuobiao 发表于 2012-11-2 03:53
看起来像是说如果shotname里面有" \:"这样的字符组合,则将第一次出现" \:"之后的所有内容删除 ...

并没删除。的确有点意味不明,处理后字符串看上去完全米有变化。
本来还以为是切断或者分割之类的操作,现在猜测可能两个步骤之间有一些其他的步骤,
比如拷贝\:之前的内容什么的。只是没贴出来。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-7-8 01:33 , Processed in 0.105499 second(s), 26 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表