cpp main
main函数入口
int main(int argc, TCHAR* argv[])
{
return 0;
}
两个参数:argc
和argv[]
。
第一个参数是argc
是参数计数,指的是第二个参数argv
中参数的个数。
形参argv
是一个字符串数组,每一个字符代表是一个命令行参数。
下面这个可以更好的看出两个参数的不同
#include<stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
printf("the number of command line parameters is %d!\n",argc );
for (int i = 0; i<argc; i++){
printf("argv[%d] is %s\n",i,argv[i]);
}
return 0;
}
但是这两个参数的名字不一定是argv、argc。参数名字可以改。
vector函数
vectorname.assign(int size, int value)
Parameters:
size -分配数组的大小
value -分配的值
vector<int>v_data;
v_data.assign(2,100);
//v_data =[100,100]
sprintf
sprintf
名为print但是并不打印字符串出来。
函数定义为
int sprintf ( char * str, const char * format, ... );
与printf
有所区别。
函数名 | 功能 | 返回值 |
---|---|---|
printf | 向控制台打印一串字符 | void |
sprintf | 将一串字符存到一个字符数组中,不打印 | int |
sprintf
,printf
都是采用C风格的字符格式。区别在于sprintf,将组合起来的字符串存储到参数中的字符数组中。显然的字符数组要有足够的大小。cpp提供了更加安全的snprintf
.
/* 代码示例
// 来自于cpp reference website:
// https://www.cplusplus.com/reference/cstdio/sprintf/
// sprintf example */
#include <stdio.h>
int main ()
{
char buffer [50];
int n, a=5, b=3;
n=sprintf (buffer, "%d Plus %d Is %d", a, b, a+b);//n=13
printf ("[%s] Is A String %d Chars Long\n",buffer,n);
//[5 Plus 3 Is 8] Is A String 13 Chars Long
return 0;
}
函数如果正常执行的话,返回值为写入字符串的大小,(不包括字符串尾的终止符 NULL)
如果函数遇到错误,将会返回一个负值