linux环境C编程与windows的不同
来源:互联网 发布:java如何设置时区 编辑:程序博客网 时间:2024/05/05 06:28
1.system("pause")不能使用,可自己写一个mypause()函数
#include <stdio.h>#include <stdio_ext.h>void mypause(){ char ch; printf("Press Enter to continue...\n"); __fpurge(stdin); while((ch = getchar())!='\n' && ch != EOF) ;}
3.不能使用getch不回显字符的函数,只能自己编写函数设置终端参数来实现
#include <stdio.h>#include <string.h>#include <termios.h>#include <unistd.h>#include <assert.h>char getch(int len_max){ char ch; struct termios old_attr, new_attr; int len = 0; int res = 0; if(len < len_max) { res = tcgetattr(STDIN_FILENO, &old_attr); assert(res == 0); memcpy(&new_attr, &old_attr, sizeof(old_attr)); new_attr.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOKE); res = tcsetattr(STDIN_FILENO, TCSANOW, &new_attr); ch = getchar(); ++len; res = tcsetattr(STDIN_FILENO, TCSANOW, &old_attr); assert(res == 0); return ch; } else { printf("Your in put must less than %d", len_max); return -1; }}
4.getchar() 回车键 识别为'\n',值为 10;退格键Backspace识别为delete,值为127
5.windows下目录路径用的是反斜杠 \,linux下是正斜杠 /
6.windows下中文是GBK编码, linux下是utf-8
7.windows下文本文件行尾是\r\n, linux下只有\n
8.fflush不能用于清空stdin,换成__fpurge(stdin),也不是setbuf(stdin, NULL) 这个是关闭缓冲的
0 0
- linux环境C编程与windows的不同
- Linux与windows的不同
- Linux与Windows的不同
- Linux与Windows的不同
- linux与Windows的不同
- Linux与Windows的不同
- Linux与Windows的不同
- Matlab编程与C编程的不同
- Linux和windows环境下的Java开发的区别与不同
- Linux和windows环境下的Java开发的区别与不同
- Linux和windows环境下的Java开发的区别与不同
- windows与linux socket程序的不同
- windows与linux socket程序的不同
- windows与Linux下socket的不同
- windows与Linux下socket的不同
- windows与linux socket程序的不同
- Linux与Windows的8个不同
- windows与linux socket程序的不同
- [leetcode] Populating Next Right Pointers in Each Node
- Sausage API
- java静态语句块、构造语句块以及构造函数的执行顺序
- 一些ios接口api
- SimpleWordResult API
- linux环境C编程与windows的不同
- [华为机试练习题]1.周期串问题
- Shadow Mapping 的原理与实践
- WordResult API
- UNIX网络编程卷一:套接字联网API(学习笔记一)
- result 到lattice 到sausage
- nginx启动,重启,关闭命令
- 探究VC下的_T(""),发现:双字节字符/多字节字符是以小端存储的(至少是在VC2013环境下)
- 黑马程序员-IOS学习笔记(三)数据类型和表达式