c语言字符串在函数间传递
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言字符串在函数间传递相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<string.h>
char *start(char *wz);
int main()
char *sys;
char xz,wz[99]="www";
scanf("%s",&xz);
if (xz=='1')
sys=start(*wz);/*将wz值传入start*/
printf("%s",sys);
return 0;
char *start(char *wz)
char str[99]="am start -a android.intent.action.VIEW -d http://";
strcat(str,wz);
return *str;
/*我的本意是用一个自定义函数,将传入的字符串与函数内的定值字符串连接后,再传出去,不知怎么弄,求指导*/
if (sys != NULL) // 注意:分配内存以后一定要释放
free(sys); return 0;char *start(char *wz)
char* str = (char*)malloc(99); // 堆中分配内存
strcpy(str, "am start -a android.intent.action.VIEW -d http://"); strcat(str,wz); return str;
其实不建议以这种方式来写,start函数可以写成2元函数,一个函数传入参数,一个函数传出结果。
void start(char* pOut, char* pIn)
strcpy(pOut, "am start -a android.intent.action.VIEW -d http://");strcat(pOut, pIn);
参考技术A 把char str[99] =" am start -a android.intent.action.VIEW -d http://";改成
char *str = (char *)malloc(99);//头文件stdlib.h
strcpy(str," am start -aaandroid.intent.action.VIEW -d http://");
把return *str; 改成 return str;
有趣的atoi()函数
atoi()函数是C语言库中的一个比较有意思的函数,有趣的地方在于,他可以将数字字符串转化为相应的数字,当然我们也可以通过字符间换算转化为相应数字,但有库函数atoi()使得代码简化许多。那么atoi()怎么用呢?
1.在c语言中直接包含在头文件stdlib.h头文件中,atoi()的形式参数为指针,所以要将字符串指针来传递。注意当atoi()读取到非数字字符时将会停止转换。
2.直接将string类型的字符串用char型指针进行指向即可。同样要包含头文件stdlib.h
3.c++中atoi函数的使用
string 是C++ STL定义的类型,atoi是 C 语言的库函数,所以要先转换成 char* 类型才可以用 atoi。
string s;
cin>>s;
int result = atoi( s.c_str() );
atoi (表示 alphanumeric to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。
原型:
int atoi(const char *nptr);
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。
包含在头文件stdlib.h中
以上是关于c语言字符串在函数间传递的主要内容,如果未能解决你的问题,请参考以下文章
如何用c语言编一个函数 实现字符串作参数传递,给个编译过的程序