printf
printf:
printf函数用于在标准输出控制台打印字符数据流。
语法:
int printf(const char* str,…);
eg:
#include<stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
输出:
sprintf
sprintf:
字符串打印函数,代替在标准输出控制台上打印,将其存储在 sprintf 中指定的 char 缓冲区中。
语法:
int sprintf(char* str,const char* string,...);
eg:
#include<stdio.h>
int main()
{
char buffer[50];
int a = 10, b = 20, c;
c = a + b;
sprintf(buffer, "Sum of %d and %d is %d\n", a, b, c);
// 字符串“sum of 10 and 20 is 30”存储在缓冲区中,而不是在标准输出上打印
printf("%s", buffer);
return 0;
}
输出:
fprintf
fprintf:
fprintf 用于在文件中打印字符串内容,但不在标准输出控制台上打印。
语法:
int fprintf(FILE *fptr, const char *str, ...);
eg:
#include<stdio.h>
int main()
{
int i, n = 2;
char str[50];
//以写模式下打开文件 haha.txt
FILE *fptr = fopen("haha.txt", "w");
if (fptr == NULL)
{
printf("Could not open file");
return 0;
}
for (i = 0; i<n; i++)
{
puts("Enter a name:");//输出字符串的时候自动换行
gets(str);//读取到\n(输入回车)时停止读取,但它不会把\n包含到字符串里去
fprintf(fptr, "%d.%s\n", i, str);
}
fclose(fptr);
return 0;
}
输出:
小疑惑 ? 输出到了哪里 ?
正如这个函数意义所在,输出到了一个文件中,若不指定路径,生成在默认文件下。