会改变光标位置的函数:
- read()、write()、fwrite()、fread()
- lseek()、rewind()
- fprintf()、fscanf()
需要注意的是使用fprintf()、fscanf()的读写问题与printf()、scanf()类似
(非指定地址下)遇到空格结束当前占位符的输入,且空格被忽略
char* a = "hello world";
printf("%s\n", a);
输出结果:
hello world
FILE* fp;
char* a = "hello world";
char buf[12];
fwrite(a, strlen(a) + 1, 1, fp);
memset(buf, 0, sizeof(a));
fscanf(fp, "%s", buf); //读取字符串 hello
printf("%s\n", buf);
memset(buf, 0, sizeof(a));
fscanf(fp, "%s", buf); //读取字符串 world 。改用fread()则空格不被省略,空格归第二个字符串,
printf("%s\n", buf);
输出结果:
hello
world