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;

/*我的本意是用一个自定义函数,将传入的字符串与函数内的定值字符串连接后,再传出去,不知怎么弄,求指导*/

#include<stdio.h>#include<string.h>char *start(char *wz);int main() char *sys = NULL; char xz,wz[99]="www"; scanf("%s",&xz); if (xz=='1') sys=start(wz);/*将wz值传入start*/ printf("%s",sys);
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函数的使用

如何将一个字符串(变量)转换成一个int型数(变量)?
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语言中如何将二维字符数组作为函数参数引用传递

C语言中 有没有函数可以将字符串直接转为时间格式的?

有趣的atoi()函数

如何用c语言编一个函数 实现字符串作参数传递,给个编译过的程序

一个c语言工程中可以有几个头文件,两个文件间函数调用其中之一要是头文件吗?

c语言进阶9-值传递与地址传递