fputs函数来骂人

#include<stdio.h>
#include<process.h>
#include<string.h>
int main()
{
FILE *fp;
char i[100];
strcpy(i,"群主是sb!,不服来打我啊");
char filename[30];
printf("please input filename:\n");
printf("先打文件地址在写文件名\n");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("can not open!\please press any key to continue\n");
getchar();
exit(0);
}
getchar();
fputs(i,fp);
fclose(fp);
return 0;

}


### `fputs` 函数的使用方法及注意事项 `fputs` 是 C 语言中用于向文件或流写入字符串的标准库函数。其函数原型为: ```c int fputs(const char *str, FILE *stream); ``` 其中,`str` 是需要写入的字符串(以 `\0` 结尾),`stream` 是目标文件指针(例如通过 `fopen` 打开的文件流)。该函数在成功执行时返回非负值,若发生错误则返回 `EOF` [^3]。 #### 基本使用方法 以下是一个简单的示例,展示如何使用 `fputs` 向文件中写入字符串: ```c #include <stdio.h> int main() { FILE *fp = fopen("example.txt", "w"); // 以写入模式打开文件 if (fp == NULL) { perror("文件打开失败"); return 1; } fputs("这是第一行\n", fp); // 写入一行文本并手动添加换行符 fputs("这是第二行", fp); // 不添加换行符 fclose(fp); // 关闭文件 return 0; } ``` 该程序会创建一个名为 `example.txt` 的文件,并写入两行文本内容。需要注意的是,`fputs` 不会自动添加换行符,因此需要手动在字符串末尾添加 `\n` 来实现换行效果 [^3]。 #### 注意事项 1. **换行符的处理**:`fputs` 不会在写入的字符串末尾自动添加换行符,因此需要开发者手动添加 `\n`,否则后续写入的内容会紧接当前字符串显示 。 2. **模式选择**:使用 `fopen` 打开文件时,需根据需求选择合适的文件打开模式。例如: - `"w"`:写入模式,会清空文件内容。 - `"a"`:追加模式,保留原有内容并在末尾添加新内容 [^1]。 3. **文件关闭**:完成写入操作后,务必使用 `fclose` 关闭文件以释放资源并确保数据正确写入磁盘 [^3]。 4. **错误处理**:在调用 `fopen` 时应检查返回值是否为 `NULL`,以防止文件打开失败导致后续操作异常 [^3]。 5. **多行写入**:若需写入多行内容,可通过多次调用 `fputs` 实现,每次写入一行字符串并添加换行符 [^1]。 6. **与 `puts` 的区别**:`fputs` 支持向任意文件流写入数据,而 `puts` 仅限于标准输出。此外,`puts` 会自动添加换行符,而 `fputs` 不会 [^2]。 7. **字符串终止符**:`fputs` 会写入字符串内容,但不会包含字符串结尾的 `\0` 字符 [^3]。 #### 示例:追加写入文件 ```c #include <stdio.h> int main() { FILE *fp = fopen("example.txt", "a"); // 以追加模式打开文件 if (fp == NULL) { perror("文件打开失败"); return 1; } fputs("\n这是追加的一行", fp); // 在文件末尾添加内容 fclose(fp); return 0; } ``` 上述代码会向 `example.txt` 文件末尾追加一行文本,而不会影响原有内容。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西城男孩(0t0)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值