char型数组作为函数参数

shuizhongyue561561 2013-11-18 08:31:24
char型数组作为函数参数怎么用,有多个数组,长度也不一样,但是想做的操作是差不多的,想写一个函数,多次调用对每个char型数组操作,功能函数的参数怎么定义?函数调用时怎么写?
...全文
1502 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
FlyToTMoon 2013-11-19
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

//两个参数,一个地址,一个长度!
int testfunc( char *test, unsigned int testlen)
{
    // TODO something;
}
++,一般都是这个处理方法,如果你要用CString也可以一个意思
「已注销」 2013-11-19
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

//两个参数,一个地址,一个长度!
int testfunc( char *test, unsigned int testlen)
{
    // TODO something;
}
++1,传一个长度进去....
baichi4141 2013-11-19
  • 打赏
  • 举报
回复
对长度不定的连续数据(例如数组)操作,最简单的方法就是传首数据指针和总数据数进去,就如同一楼给出的那样 至于楼主试了都不对——不知道你是怎么试的,如果你只知道把别人给的代码原样复制粘贴,而不去想为什么这么写代码,那能帮你的人真的不多
lm_whales 2013-11-19
  • 打赏
  • 举报
回复
不确定长字符数组。 1)是个字符串,处理字符串只需要数组首地址,就可以了,传一个字符指针。 int fun(const char *a);// 不修改字符串。 int fun(char *a);//修改字符串。 2)仅仅数个数组,需要数组首地址,和数组长度。 int fun(const char *a,int n);// 不修改任何数组元素。 int fun(char *a,int n);//修改若干数组元素。 PS: 不论以上那种情况,都可以作为数组用。 关键是你需要处理数组,还是字符串。 因为字符串的长度,可以通过 strlen 函数得到,也可以自己写个函数得到。
Adol1111 2013-11-19
  • 打赏
  • 举报
回复
如果是C的话一般都是要传一个长度进去的,数组做参数会退化成指针,长度会丢失。换成CString也是一样。 如果是C++直接用string就好了,有size()求长度。 如果还是不对就要看你的testfunc源码是什么了。
绿皮蛙 2013-11-19
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

//两个参数,一个地址,一个长度!
int testfunc( char *test, unsigned int testlen)
{
    // TODO something;
}
++
shuizhongyue561561 2013-11-18
  • 打赏
  • 举报
回复
为什么我试了都不对???肿么破???
zsq765561964 2013-11-18
  • 打赏
  • 举报
回复 1
char型数组作为函数参数,在定义函数形式参数时,可以用 char *arr 或 char arr[] ,这两个参数达到的效果是一样的,进行函数调用时,实参写char数组的数组名就可以了。

void testfunc( char *arr, size_t len)
{
     //your work
}
int main()
{
    char array[] = "testfunc";
    testfunc(array, sizeof(array)/sizeof(*array));
}
shuizhongyue561561 2013-11-18
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

//两个参数,一个地址,一个长度!
int testfunc( char *test, unsigned int testlen)
{
    // TODO something;
}
不行呀,是不是应该先把数组转换成Cstring,传参时用Cstring?
max_min_ 2013-11-18
  • 打赏
  • 举报
回复

//两个参数,一个地址,一个长度!
int testfunc( char *test, unsigned int testlen)
{
    // TODO something;
}

64,646

社区成员

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

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