c调用脚本
楼主不要混淆脚本的概念····如果是脚本的话
就是命令行指令,或者脚本语言保存的代码。脚本一般为解释性语言,即不需要编译链接,而直接逐行执行代码的语言。C语言不是脚本语言。
电话号码嘛··随机生成,这个不错,有点复杂的说。我是说随机数像电话号码的情况。比较复杂。
你需要一个hashlist库。
一个生成用户名的方法,一个生成电话号码的方法。
和一个记录显示的方法。
有了这些很简单了。
初始化哈希表
//如果同时生成记录和读取记录的话要用到多线程了
//可以先读取:
打开文件:
loop:
读取一条记录
store as key & value in hashlist
loopend
生成记录 保存
写入文件
② 如何在C语言中调用脚本
用system
比如 脚本名字是a.sh的话
那么就是
system("./a.sh");
③ c语言中c文件能不能调用shell脚本
解决方法如下:
int iRetCode;
char sStr[100];
sprintf(sStr,"home/test/upload/unload.sh");
iRetCode=system(sStr);
if(iRetCode<0)
{
printf("shell error!");
}
④ 在c\c++程序里怎么执行shell脚本命令
在C/C++源码中执行shell命令,最基本的就是system()C库函数,其次可以使用系统提供的api函数,比如windows上的createprocess shellexecuteex等函数,在linux上可以使用exec()等等.
下面是我在windows上的弄的一个测试版本,使用了线程,我感觉用nc来测试,不如直接netstat -an | findstr /I "udp" | findstr "22" ,因为22端口太其特了,很容易抓出来.另外nc判断端口常规的作法就是nc -vv ip port 看提示信息就好了.
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <windows.h>
#include <process.h>
UINT __stdcall ThreadFunc(LPVOID lpParam) {
//将hacker字符串做为nc提交的数据
int ret = system("echo hacker | nc.exe -u 127.1 22");
//ret==0说明没有开启22端口
if (ret == 0 ) printf("nc: Write error: Connection refused.\n");
return 0;
}
int main()
{
HANDLE hThread = (HANDLE)_beginthreadex(0, 0, ThreadFunc, 0, 0, 0);
//等待3秒钟,说明22端口可用
WaitForSingleObject(hThread, 3000);
//结束测试线程
TerminateThread(hThread, 0);
//重新开启NC连接22端口
system("nc.exe -vv -u 127.1 22");
return 0;
}
欢迎光临0x30贴吧,一个高质量的计算机技术交流平台.
⑤ C语言不属于脚本语言可是能不能用来写脚本呢
不行的,脚本是一种文本,可以用记事本编写,是十进制,不需要编译器编译成计算机能识别的二进制。而c语言用编译器来编写,将十进制转换为二进制。况且脚本语法和c语言不同,但脚本和vb有关联,如果你要学脚本,先去理解下vb语法
⑥ 如何在jstl得c:set标签中调用脚本方法
1.jstl标签,不可能调用java类方法的 2.一种方法是在jsp页面中进行调用;另一种是在action或者servlet中调用,然后将值存到request或者session作用域中,最后在页面通过jstl标签取
⑦ 如何在C语言中调用shell命令
在C语言中调用shell命令的方法实现。
C程序调用shell脚本共有两种方法 :system()、popen(),分别如下:
system()
不用自己去创建进程,系统已经封装了这一步,直接加入自己的命令即可
popen() 也可以实现执行的命令,比system
开销小
以下分别说明:
1)system(shell命令或shell脚本路径);
system()
会调用fork()产生 子历程,由子历程来调用/bin/sh-c string来履行 参数string字符串所代表的命令,此命令履行
完后随即返回原调用的历程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被漠视 。
返
回值:如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值。 如果
system()调用成功 则最后会返回履行 shell命令后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因
此最好能再反省 errno 来确认履行 成功 。
system命令以其简略
高效的作用得到很很广泛 的利用 ,下面是一个例子
例:在/tmp/testDir/目录下有shell脚本tsh.sh,内容为
#!/bin/sh
wget $1
echo "Done!"
2)popen(char
*command,char *type)
popen()
会调用fork()产生 子历程,然后从子历程中调用/bin/sh -c来履行 参数command的指令。参数type可应用
“r”代表读取,“w”代表写入。遵循此type值,popen()会建立 管道连到子历程的标准 输出设备 或标准 输入设备
,然后返回一个文件指针。随后历程便可利用 此文件指针来读取子历程的输出设备 或是写入到子历程的标准 输入设备 中。此外,所有应用 文
件指针(FILE*)操作的函数也都可以应用 ,除了fclose()以外。
返回值:若成功
则返回文件指针,否则返回NULL,差错 原因存于errno中。注意:在编写具SUID/SGID权限的程序时请尽量避免应用
popen(),popen()会继承环境变量,通过环境变量可能会造成系统安全的问题。
例:C程序popentest.c内容如下:
#include<stdio.h>
main
{
FILE * fp;
charbuffer[80];
fp=popen(“~/myprogram/test.sh”,”r”);
fgets(buffer,sizeof(buffer),fp);
printf(“%s”,buffer);
pclose(fp);
}
⑧ 关于C语言和 脚本问题
我觉得,你首先应该区分下脚本的概念,一般来说,脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。脚本通常可以由应用程序临时调用并执行。
C语言可以做调用脚本的程序,比如,据我的估计,像按键精灵之类可能就是用C/C++写的(即使不是C也完全可以写这种功能)。但一般来说,C语言大多数情况下还是编译生成可执行程序(.exe),而不是脚本(按某种语法编写的文本序列)。
如果你想用C语言编写脚本,建议可以参考比较成熟的软件,如VBScript 、 AutoIt、按键精灵等的做法。
据我的理解,直接用C语言编写生成的应该是程序,而不是脚本。
⑨ c语言如何调用需传入参数的shell脚本
#include<stdio.h>
intmain(intargc,char**argv)
{
inti;
for(i=0;i<argc;i++)
printf("%s ",argv[i]);
return0;
}
比方这个程序叫 main.c 吧,先编译成 main.exe
gcc main.c -o main.exe
然后用命令运行
main.exe aefae 2423 asdae
程序输出:
main.exe
aefae
2423
asdae
argv 是通过命令行传送给程序的参数的字符串指针数组,argc 是参数的个数
⑩ 怎么在c语言程序里调用shell脚本文件
system(“这里是你要执行的脚本文件的绝对位置或者相对位置”);