如果要把一个字符串"Hello!"写入文件指针fp所指定的文件里,应该如何写?
时间: 2024-04-01 22:36:04 浏览: 60
可以使用文件操作函数fwrite()将字符串写入文件,示例如下:
```
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char str[] = "Hello!";
fp = fopen("file.txt", "w"); // 打开文件,以写入的方式
if (fp == NULL) { // 判断文件是否打开成功
printf("File open error!\n");
return 1;
}
fwrite(str, strlen(str), 1, fp); // 将字符串写入文件
fclose(fp); // 关闭文件
return 0;
}
```
上述代码中,首先使用fopen()函数打开一个名为file.txt的文件,以写入的方式。然后判断文件是否打开成功,如果打开失败,则输出错误信息并退出程序。接着,使用fwrite()函数将字符串str写入文件,其中strlen(str)表示要写入的字符串的长度,1表示要写入的数据块数目,fp表示文件指针。最后,使用fclose()函数关闭文件。
相关问题
c语言代码,判断文件中是否有指定字符串,如果没有把该字符串写进该文件
可以使用C语言中的文件操作函数来实现这个功能。具体步骤如下:
1. 打开文件:使用fopen函数打开指定文件,可以选择只读方式或读写方式打开文件。
2. 判断文件中是否有指定字符串:使用fgets函数逐行读取文件内容,使用strstr函数判断每一行中是否包含指定字符串。
3. 如果文件中没有指定字符串,则在文件末尾写入该字符串:使用fseek函数将文件指针移动到文件末尾,使用fputs函数将指定字符串写入文件中。
4. 关闭文件:使用fclose函数关闭文件。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char filename[] = "test.txt";
char str[] = "hello world";
char buffer[1024];
// 打开文件
fp = fopen(filename, "r+");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
// 判断文件中是否有指定字符串
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
if (strstr(buffer, str) != NULL) {
printf("String found in file\n");
fclose(fp);
return 0;
}
}
// 文件中没有指定字符串,写入该字符串
fseek(fp, 0, SEEK_END);
fputs(str, fp);
printf("String written to file\n");
// 关闭文件
fclose(fp);
return 0;
}
```
这个代码会打开名为 test.txt 的文件,然后判断文件中是否包含字符串 "hello world"。如果文件中已经包含该字符串,则输出 "String found in file";如果文件中没有该字符串,则在文件末尾写入该字符串并输出 "String written to file"。最后关闭文件。
c语言将自写字符串写入文件
以下是将自写字符串写入文件的C语言代码示例:
```c
#include <stdio.h>
int main() {
char str[] = "Hello, world!"; // 自写字符串
FILE *fp; // 文件指针
fp = fopen("output.txt", "w"); // 打开文件,以写入方式
fprintf(fp, "%s", str); // 将字符串写入文件
fclose(fp); // 关闭文件
return 0;
}
```
上述代码中,我们首先定义了一个自写字符串`str`,然后使用`fopen()`函数打开一个名为`output.txt`的文件,并以写入方式打开。接着,我们使用`fprintf()`函数将字符串写入文件中,最后使用`fclose()`函数关闭文件。
阅读全文