获取工作路径这里介绍两种方法:
1、使用getcwd()函数。
头文件:#include
定义函数:char*getcwd(char*buf,size_tsize)
函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小。
实例:
voidgetPath()
{
charpPath[256]={0}
getcwd(buf,256)
printf("filePath:%s\n",pPath)
}
主函数调用此函数运行结果:
filePath:/home/myTest
2、使用readlink()函数
头文件:#include<unistd.h>
函数定义:intreadlink(constchar*path,char*buf,size_tbufsiz)
函数说明:此函数会将参数path的符号连接内容到参数buf所指的内存空间,返回的内容不是前带以NULL作字符串结尾,但会将字符串的字符数返回。若参数bufsiz小于符号连接的内容长度,过长的内容会被截断。成功返回buf长度,失败返回-1。
实例:
voidgetPath()
{
charpPath[256]={0}
intret=-1
ret=readlink("/proc/self/exe",pPath,256)
pPath[ret]="\0"
printf("thefilePath:%s\n",pPath)
}
intmain()
{
getPath()
}
运行敏缺结果:
thefilePath:/home/myTest/a.out
小猿圈Linux讲师提醒大家:每天学习一点技术问题,只要功夫深,铁杵磨成针,学习不是一朝一夕的,是需要付出行动的,而且还要坚持,学习新的技术需要不断的查阅资料,看视频,复习,练习,如果你工作中或者生活中遇到什么问题,可以到小猿圈去寻找答案的,相信会给你满意的答复
简单,去下个LUA for windows,安装完毕后,到安装目录里找到lua51.dll和lua51.lib以及相关的头文件然后是代码:
#include <stdio.h>
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#pragma comment(lib, "lua5.1.lib")
lua_State* L
int main ( int argc, char *argv[] )
{
/* initialize Lua */
L = lua_open()
/* load Lua base libraries */
luaL_openlibs(L)
luaL_dofile(L, "my.lua")//载入代码文件并执行
//假设里面的函数是这样的:function LuaFun(a,b) return a+b,a-b end
lua_getglobal(L, "LuaFun")
lua_pushnumber(L, 10)//压入参数1
lua_pushnumber(L, 20)/隐猜/压入参数2
lua_call(L, 2, 2)//调用函数,2个参数,2个返回值
int a = luaL_checkinteger(L, 1)//第一个返回值
int b = luaL_checkinteger(L, 2)//第一个返回值
lua_pop(L, 2)//清灶亏型空模理堆栈
printf("a:%d,b:%d\n",a,b)
/* cleanup Lua */
lua_close(L)
/* pause */
printf( "Press enter to exit..." )
getchar()
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)