VC不能用c语言stdlib.h标准库中的宏是软件有问题吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC不能用c语言stdlib.h标准库中的宏是软件有问题吗相关的知识,希望对你有一定的参考价值。

#include <stdlib.h>
S=(float)319*rand()/RAND_MAX+1;
C:\Windows\System32\ds.c(34) : error C2065: 'RAND_MAX' : undeclared identifier

不知道你用的什么编译环境,可能是 stdlib.h 这个头文件有问题,或者是你的宏设置有问题,比如在 include stdlib 之前就已经定义了 _INC_STDLIB 这个宏了。

不过,针对这个问题,你可以自己定义一下这个宏来解决:

#define RAND_MAX 0x7fff

参考技术A ???

标准库中的管道操作

技术分享

 

-----------------------------------------------------------------------------------------------------------

 

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>

int main(void)
{
    FILE *fp;
    //命令执行的结果放置在fp指向的结构体缓冲中
    fp = popen("cat /etc/passwd","r");
    char buf[512];
    memset(buff,0,sizeof(buf));
    while(fgets(buf,sizeof(buf),fp) != NULL)
    {
        printf("%s",buf);
    }
    pclose(fp);
    
    printf("------------------------------\\n");
    //为wc命令提供统计的数据
    fp = popen("wc -l","w");
    //向fp指向的结构体缓存中写入数据
    fprintf(fp,"1\\n2\\n3\\n");
    pclose(fp);
    
    exit(0);
}

 


























以上是关于VC不能用c语言stdlib.h标准库中的宏是软件有问题吗的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的“宏”是指啥?

c语言中的“宏”是指啥?

vc++中std::string/std::wstring的宏是啥?

高分求助VC中关于不定参数宏的使用

讲下c语言中的宏

C标准库stdlib.h概况