1、fread读取txt文件
FILE *fp;
if ((fp = fopen("E:\\y-cruncher\\y-cruncher v0.7.8.9506\\Pi.txt", "r"))== NULL) {
printf("error");
}
fread(T, 1, N, fp); /* 1是单个数据字节大小,N是数据个数,读到T中。 */
fclose(fp);
2、sscanf
// 把argv[1]作为int写到time的地址。
sscanf(argv[1], "%d", &time);
3、一个printf打印多行。
printf("s1\n"
"s2\n");
4、读取一个字符,屏蔽回车的粗鄙办法:
while (scanf("%c", &choice) && choice == '\n');
// 更好的办法应该是正则表达式,等我了解C的正则表达式怎么用。
5、对齐时,以最长的数据类型为单位,看需要几个单位能够容纳这个结构体,这个结构体就多么大。
在gnu c下能够通过__attribute__((packed))__
属性关闭对齐。
struct example_struct
{
char c;
int a;
long b;
} __attribute__((packed));
struct example_struct2
{
char c;
int a;
long b;
};
6、__FUNCTION__
保存着当前函数的函数名。
7、typeof可以获取变量类型,一般这么用:
int *a = 9;
typeof(&a) ptr = &a;
8、printf通过变量设置宽度
*对应着宽度,-意味着左对齐
printf("%-*d", width, a[i][j]);