扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言没有BOOL类型变量
未央网站建设公司创新互联,未央网站设计制作,有大型网站制作公司丰富经验。已为未央数千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的未央做网站的公司定做!
boolean类型是C++所独有的
由于使用BOOL类型可以使代码更具有可读性,很多编程者都在C中自己定义了类似的应用,一般方法有两种:
1、采用宏定义方式(windef.h中就是用的这种方式)
typedef int BOOL ;
#define true 0
#define false 1
2、采用枚举型变量方式(这种方式更象C++的boolean类型)
typedef enum { true=0, false} BOOL;
/*
排序前:1258e7w64fg64weg4226ases1
排序后:11222444566678aeeefggssww
Press any key to continue
*/
#include stdio.h
#include string.h
#include windows.h
void Sort(BYTE *pBuf ,int nBufLen) {
int i,j,k;
char ch;
for(i = 0; i nBufLen - 1; ++i) {
k = i;
for(j = i + 1; j nBufLen; ++j) {
if(pBuf[k] pBuf[j]) k = j;
}
if(i != k) {
ch = pBuf[i];
pBuf[i] = pBuf[k];
pBuf[k] = ch;
}
}
}
int main() {
unsigned char s[] = "1258e7w64fg64weg4226ases1";
int len = strlen((char *)s);
printf("排序前:%s\n",s);
Sort(s,len);
printf("排序后:%s\n",s);
return 0;
}
//下面的c程序只是能满足你那种格式的要求,c++中有很强大的xml文档的类,可以参考
//文档data.txt里面就是你的参数文件
#include stdio.h
#include string.h
struct ARG/*保存参数的编号,参数A(ip?),参数B的结构体*/
{
int argNo;
char argA[24];
char argB[8];
};
void FillArg(ARG arg,char* pbuf)/*从一行数据pbuf中读取相关值保存到ARG的三个变量中*/
{
arg.argNo=0;
char* p=pbuf,*p2=0;
//argNo...
p+=strlen("ARG_");
while(*p!='')
{
arg.argNo=arg.argNo*10+(*p-'0');
p++;
}
//argA...
p=strstr(pbuf,"Para_A");
p+=strlen("Para_A");
p2=arg.argA;
while((*(p2++)=*(p++))!='');
p2--;
*p2='\0';
//argB...
p=strstr(pbuf,"PARA_B");
p+=strlen("PARA_B");
p2=arg.argB;
while((*(p2++)=*(p++))!='');
p2--;
*p2='\0';
return;
}
const int MAX=100;//最大读取buf,一行的字符数目
const int N=10;//总的条数
int main()
{
char buf[MAX];//每行数据的临时buf
ARG a[N];//结果数据
FILE *fp; /*从文件data.txt中按行读取数据到buf中,再调用函数FillArg填充数据ARG*/
fp=fopen("data.txt","r");/*文件data,txt里面的类容就是你要读取的东西,格式你懂的*/
int i=0;
while(!feof(fp))
{
fgets(buf,MAX,fp);//读取行
FillArg(a[i],buf);//填充
i++;
if(iN)break;
}
fclose(fp);
//最后打印数据结构ARG里面的结果
for(int j=0;ji;j++)
{
printf("%d\n%s\n%s\n",a[j].argNo,a[j].argA,a[j].argB);
}
return 0;
}
我是小学生,没怎么见过SQP_RW(0)这个东西,但在C语言里面,将数组作为函数参数传递进去,数组会被转换成相同类型的指针 *pbuf = pbuf[0] *(pbuf+i) = pbuf[i] 系统会自己计算数组元素大小从而自己设定偏移地址进行取值
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流