鹏仔先生-趣站-一个有趣的网站!
鹏仔先生

鹏仔先生

当前位置:网站首页 > 文字大全 > 正文

关于c编程的小问题

作者:百变鹏仔日期:2023-10-26 08:52:24浏览:14分类:文字大全

同意 龙车花卉 所说

不过atoi()函数不在头文件:math.h

头文件应该是 stdlib.h

我这里给你提供两个我自己写的函数

分别用来读取 几个连续的整数还有浮点数

请笑纳

#include

#include

#include

/****** 可以转化成浮点数的 ******/

int getmyd(char * line,double **hisd)

/* (来源字符串 double指针的指针或者说是一个double指针的地址),

二次double指针用来修改主调函数的那个double指针的值,

返回值是double的个数,

*/

{ int alen=0,dlen;

char *give,*send;

double* myd;

dlen=2+(strlen(line)/2);

myd= (double*)calloc ( dlen,sizeof (double*));

give=line;

do

{send=give;

*(myd+alen)=strtod (send,&give);

alen++;

}

while (send!=give);

alen--;

*hisd=myd;

return alen;

}

/****** 可以转化成整数的 ******/

int getmyl(char * line,long **hisl)

/* (来源字符串 long指针的指针或者说是一个long指针的地址),

二次long指针用来修改主调函数的那个long指针的值,

返回值是long的个数,

*/

{ int alen=0,dlen;

char *give,*send;

long* myd;

dlen=2+(strlen(line)/2);

myd= (long*)calloc ( dlen,sizeof (long*));

give=line;

do

{send=give;

*(myd+alen)=strtol (send,&give,10);

alen++;

}

while (send!=give);

alen--;

*hisl=myd;

return alen;

}

/*

注意用完要记得在主调函数中 free(double *)或者free(long *)以释放资源;

以下是一个示例:

*/

main ( ){

int ul,ud;

关于c编程的小问题

long *myl;

double *myd;

char* hal=" 12 15 25 22 15 15 185";

char* had=" 12.3 15 25.9 22 15 15.1 185";

ul=getmyl(hal,&myl);

ud=getmyd(had,&myd);

printf ("this long %d\n",*myl);

printf ("this long %d\n",*(myl+1));

printf ("this long %d\n",*(myl+2));

printf ("\nul: long %d\n",ul);

for (int i=0;iNewStringUTF("utf-8");

jmethodID mid = env->GetMethodID(clsstring, "getBytes", "(Ljava/lang/String;)[B");

jbyteArray barr= (jbyteArray)env->CallObjectMethod(jstr, mid, strencode);

jsize alen = env->GetArrayLength(barr);

jbyte* ba = env->GetByteArrayElements(barr, JNI_FALSE);

if (alen > 0)

{

rtn = (char*)malloc(alen + 1);

memcpy(rtn, ba, alen);

rtn[alen] = 0;

}

env->ReleaseByteArrayElements(barr, ba, 0);

return rtn;

}

//char* to jstring

jstring stoJstring(JNIEnv* env, const char* pat)

{

jclass strClass = env->FindClass("Ljava/lang/String;");

jmethodID ctorID = env->GetMethodID(strClass, "", "([BLjava/lang/String;)V");

jbyteArray bytes = env->NewByteArray(strlen(pat));

env->SetByteArrayRegion(bytes, 0, strlen(pat), (jbyte*)pat);

jstring encoding = env->NewStringUTF("utf-8");

return (jstring)env->NewObject(strClass, ctorID, bytes, encoding);

}

鹏仔 微信 15129739599

百科狗 baikegou.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

  • 上一篇:已经是第一篇了
  • 下一篇:已经是最后一篇了
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)