杭州西湖区做网站,phpcms网站建设,c 做网站开发,用xampp来搭建wordpress建站环境在linux写了个简单的C程序#xff0c;里面用到了itoa#xff0c;但是编译时提示“undefined reference to itoa”#xff0c;本以为加上-lc就行了#xff0c;可结果还是一样。上网发现#xff0c;有人说这个函数在linux中是不存在的#xff0c;一般用sprintf来代替。看下…在linux写了个简单的C程序里面用到了itoa但是编译时提示“undefined reference to itoa”本以为加上-lc就行了可结果还是一样。上网发现有人说这个函数在linux中是不存在的一般用sprintf来代替。看下面代码及注释吧
#include stdio.h
#include stdlib.h
//#include unistd.h
#include string.h
int num 0;
char namebuf[100];
char prefix[] /tmp/tmp/p;
char* gentemp()
{
int length, pid;
pid getpid();
strcpy(namebuf, prefix);
length strlen(namebuf);
//itoa(pid, namebuf[length], 10); // Unix版本itoa()在头文件stdlib.h中不存在
sprintf(namebuflength, %d, pid); // 使用sprintf将整数转换成字符串
strcat(namebuf, .);
length strlen(namebuf);
printf(before do...while\n);
char command[1024] {0};
do
{
//itoa(num, namebuf[length], 10);
sprintf(namebuflength, %d, num);
sprintf(command, touch %s, namebuf); // 通过touch来创建文件
system(command);
printf(command %s, namebuf[%d]%d\n, command, num-1, num-1);
} while (num 50 access(namebuf, 0) ! -1); // access判断文件是否存在
printf(end of do...while\n);
return namebuf;
}
int main( void )
{
char *p gentemp();
printf(%s\n, p);
return 0;
}