请问如何修改b为f?

greex 2010-09-21 04:26:25
char *pTest=" abcd ";

期望:
char *pTest=" afcd ";
...全文
148 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
greex 2010-11-22
  • 打赏
  • 举报
回复

//分解: BYTE *pData, int nLen;

int nPrevCode = 0;
int nFrames = 0;

BYTE *pFrameData = pData;
int nFrameLen = nLen;

BYTE *pH264Data = pData;
int nH264Len = nLen;
while(nH264Len >= 4)
{
if(pH264Data[0] == 0x00 && pH264Data[1] == 0x00 && pH264Data[2] == 0x01)
{
int code = pH264Data[3] & 0x1f;
if(code == 0x01 || (code >= 0x05 && code <= 0x09))
{
if(nPrevCode == 0x01 || nPrevCode == 0x05)
{
if(nFrames > 0)
{
if(pH264Data[-1] == 0x00) pH264Data--;
nFrameLen = pH264Data - pFrameData;
// push_frame(pFrameData, nFrameLen)
pFrameData = pH264Data;
}
}

nPrevCode = code;
}
if(code == 0x01 || code == 0x05)
{
nFrames++;
}

pH264Data += 4;
nH264Len -= 4;
}
else
{
pH264Data++;
nH264Len--;
}
}

nFrameLen = nLen - (pFrameData - pData);
// push_frame(pFrameData, nFrameLen)

greex 2010-09-21
  • 打赏
  • 举报
回复
NULL 在有此环境下没有定义,移植性差,我不建议用它.


to luciferisnotsatan:在windows下大多语言都是这样定义的,这个是VS中的定义.
#define NULL 0
GARY 2010-09-21
  • 打赏
  • 举报
回复
不过这个NULL,确实都是定义为0的。
在很多头文件中都有其定义。
看下msdn的解释:

NULL is the null-pointer value used with many pointer operations and functions. It is equivalent to 0. NULL is defined in the following header files: CRTDBG.H, LOCALE.H, STDDEF.H, STDIO.H, STDLIB.H, STRING.H, TCHAR.H, TIME.H and WCHAR.H.

所以使用NULL来表示空指针值比0要好。
程序员应该养成良好的编码风格。
(嘿嘿,我是菜鸟)
GARY 2010-09-21
  • 打赏
  • 举报
回复

if(0 == pStr)
{
return -1;
}


我觉得不管NULL是不是就是0,
这里还是写为NULL跟好。

if(NULL == pStr)
{
return -1;
}

这样的编码风格,看起来一目了然。


GARY 2010-09-21
  • 打赏
  • 举报
回复
想问一下,楼主用的什么编译工具?

char *pTest=new char[255];
memset(pTest,0,255);
memcpy(pTest,"fldjfk",6);

不会编译出错吗?
“memset”: 不能将参数 2 从“const char [7]”转换为“int”

确实如楼主所说:
char *pTest=" abcd ";
这个字符串是不能够修改的。
下面这个可以。

char *pTest = new char[10];
strcpy(pTest, " abcd ");
pTest[2] = 'f';

luciferisnotsatan 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 greex 的回复:]

"还有 NULL 是宏定义的符号常量 不只一个库有定义 但一般是定义成0的"

请问什么环境下NULL定义不是0?学习一下,谢谢;
[/Quote]
如果你发现哪个库的NULL没被定义为0,你可以发邮件给该库作者,大骂一顿。
luciferisnotsatan 2010-09-21
  • 打赏
  • 举报
回复
改不了。
char *pTest=" abcd ";这里的" abcd "编译时会放在常量区域里的,pTest指向的是常量,无法改。

你可以写成
char test[] = " abcd ";
char *pTest = test;
greex 2010-09-21
  • 打赏
  • 举报
回复
"还有 NULL 是宏定义的符号常量 不只一个库有定义 但一般是定义成0的"

请问什么环境下NULL定义不是0?学习一下,谢谢;
justkk 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 greex 的回复:]
调用见下:
char *pTest=" abcd ";
testFun_test_1(pTest);
[/Quote]
这样的话,pTest指向只读内存区域,不能修改的
可以这样:
char pTest[]=" abcd ";
testFun_test_1(pTest);
greex 2010-09-21
  • 打赏
  • 举报
回复
你用什么语言?如果是C++你看一下NULL的原始定义,应是用0表示空的.
operatingtuzi 2010-09-21
  • 打赏
  • 举报
回复
为什么非要改常量区的东西呢

自己在栈里分配段内存用 在修改不好吗

还有 NULL 是宏定义的符号常量 不只一个库有定义 但一般是定义成0的
shenchenman 2010-09-21
  • 打赏
  • 举报
回复
NULL和0怎么会一样呢,NULL指的是空指针,哪里也不指,0是说指针地址是0
greex 2010-09-21
  • 打赏
  • 举报
回复
我明白了:
这种写法相当于const
char *pAAA ="fldjfk";
要这样写:
char *pTest=new char[255];
memset(pTest,0,255);
memcpy(pTest,"fldjfk",6);
qf17331733 2010-09-21
  • 打赏
  • 举报
回复
汗~什么时候NULL为0了~NULL表示空,不等于0
greex 2010-09-21
  • 打赏
  • 举报
回复
NULL 不就是用0定义的吗?这个有什么区别吗?
greex 2010-09-21
  • 打赏
  • 举报
回复
调用见下:
char *pTest=" abcd ";
testFun_test_1(pTest);
qf17331733 2010-09-21
  • 打赏
  • 举报
回复
if(NULL == pStr)
{
return -1;
}
greex 2010-09-21
  • 打赏
  • 举报
回复
int testFun_test_1(char *pStr)
{
if(0 == pStr)
{
return -1;
}
pStr[0]='3';
}

这样运行时出错的
qf17331733 2010-09-21
  • 打赏
  • 举报
回复
char *pTest=" abcd ";
char pTest[1]= "f";
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而高性能,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。  本课程的YOLOv5使用ultralytics/yolov5,在Windows和Ubuntu系统上分别做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集(自动划分训练集和验证集)、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 除本课程《YOLOv5实战训练自己的数据集(Windows和Ubuntu演示)》外,本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209 《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.csdn.net/course/detail/35284  

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧