文件操作:
1.fopen_s比fopen多一个打开状态的返回
2. feof(FILE *),如果文件流结束,返回0
3. char *fgets(char *str, int n, FILE *stream) 从文件流中读取一行,并将其存储在str所指向的字符串内。当读取n-1个或读取到换行符或文件末尾时,自动停止
4. strtok_s 字符串分割函数
当strtok()在参数s的字符串中发现参数delimiters中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。(因为修改了str,所以当多线程访问str的时候,可能会有风险。)
strtok_s(char *strToken, const char *strDelimit, char **buf);增加了一个参数,将剩余的字符串存储在buf变量中,而不是静态变量中,保证了安全性
5.atof 将字符串转换为double ,还有一个strtof 将char* 转为 float
double strtod(const char *nptr, char **endptr);
endptr的作用:遇到不符合条件而终止的情况下,nptr中的指针由endptr传回。
运算符优先级:
- 移位操作,比 & | ^ 等操作优先级高,比+-*/低
- ++ -- [] . -> 属于第一优先级,自左到右结合,前缀自增减例外
- *和& sizeof 处于第二优先级