开发手册 欢迎您!
软件开发者资料库

C语言字符串处理函数 puts()和fputs()的区别及使用

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍 C语言中符串处理函数 puts()和fputs()的区别使用方法,以及相关的示例代码。

1、puts()

标准设备输出 s 字符串,在输出完成后自动输出一个’\n’。代码如下,

#include #define DEF "code wonhero"int main(int argc, char **argv){/*int puts(const char *s); 参数s:字符串首地址返回值成功:非负数失败:-1*/    char str1[30] = "www.wonhero.com";    const char *str2 = "wonhero";    puts("hello world");    puts(DEF);    puts(str1);    puts(str2);    return 0;}

2、fputs()

将 str 所指定的字符串写入到 stream 指定的文件中, 字符串结束符 ‘\0’ 不写入文件。代码如下,

#include #include int main(){/*int fputs(const char * str, FILE * stream);参数str:字符串stream:文件指针,如果把字符串输出到屏幕,固定写为 stdout返回值成功:0 失败:-1*/    //文件指针初始化    FILE* f;    char ch[100];    //创建写操作的文件    f = fopen("includehelp.txt", "w");    printf("请输入5个字符\n");    for (int i = 0; i < 4; i++) {        scanf("%[^\n]", &ch);        //写入文件        fputs(ch, f);        fputs("\n", f);        //清除stdin流缓冲区        fflush(stdin);    }    scanf("%[^\n]", &ch);    fputs(ch, f);    //写操作结束后关闭文件    fclose(f);    //打开文件    f = fopen("includehelp.txt", "r");    printf("\n...............打印字符串..............\n");    while (!feof(f)) {        //获取字符数组中的前100个字符        fgets(ch, 100, f);        //输出字符串        printf("%s", ch);    }    //关闭文件    fclose(f);    return 0;}

注意:fputs() puts()的文件操作版本,但 fputs()不会自动输出一个’\n’

3、puts()和fputs()区别

fputs()puts()的文件操作版本,fputs()需要第二个参数来说明要写的文件,与puts()不同,fputs()不为输出自动添加换行符与fgets()一起使用。代码如下,

#include int main(){    char str[80] = "www.wonhero.com";/*字符串常量存入字符数组 */    char ch[100];    FILE * fp;   /*定义文件指针fp*/    //文件指针初始化    FILE* f;    if ((fp = fopen( "strfile", "w" )) == NULL)  /*打开文件写模式*/    {        printf("cannot open the file.\n");     /*判断文件是否正常打开*/    }    fputs(str, fp);                               /*将字符串写入文件*/    fclose(fp);                                   /*关闭文件*/     //打开文件    f = fopen("strfile", "r");    printf("\n...............打印字符串..............\n");    while (!feof(f)) {        //获取字符数组中的前100个字符        fgets(ch, 100, f);        //输出字符串        printf("%s", ch);    }    //关闭文件    fclose(f);    return 0;}