C语言,编写程序将若干字符存储到一磁盘文件,再将该文件数据显示
时间: 2024-03-07 11:48:10 浏览: 38
您好,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
char str[] = "Hello, World!"; // 要写入文件的字符串
FILE *fp; // 文件指针
fp = fopen("file.txt", "w"); // 打开文件
fprintf(fp, "%s", str); // 写入文件
fclose(fp); // 关闭文件
char buffer[100]; // 读取文件的缓冲区
fp = fopen("file.txt", "r"); // 以只读方式打开文件
fgets(buffer, 100, fp); // 读取文件
printf("%s", buffer); // 输出文件内容
fclose(fp); // 关闭文件
return 0;
}
```
以上代码首先将字符串 "Hello, World!" 写入到文件 file.txt 中,然后再从文件中读取数据,并输出到控制台上。其中,使用 fopen 函数打开文件时,第一个参数是文件名,第二个参数是文件打开方式,"w" 表示写入文件,"r" 表示读取文件。使用 fprintf 函数向文件中写入数据,使用 fgets 函数从文件中读取数据。最后关闭文件,释放资源。
相关问题
编写c语言程序,以多种方式将若干字符存储到一磁盘文件中,再将该文件的数据显示
以下是一个简单的C语言程序,可以将用户输入的字符存储到磁盘文件中,然后再将该文件的数据显示出来。该程序使用了多种方式来存储字符到文件中,包括fwrite()、fputc()和fprintf()函数。请参考以下代码:
```c
#include <stdio.h>
int main() {
char str[100];
FILE *fp;
// 打开文件
fp = fopen("data.txt", "w");
// 使用fwrite()函数将字符存储到文件中
printf("Enter a string:\n");
scanf("%[^\n]", str);
fwrite(str, sizeof(char), sizeof(str), fp);
// 使用fputc()函数将字符存储到文件中
printf("\nEnter a character:\n");
char ch = getchar();
fputc(ch, fp);
// 使用fprintf()函数将字符存储到文件中
printf("\nEnter another string:\n");
scanf(" %[^\n]", str);
fprintf(fp, "%s", str);
// 关闭文件
fclose(fp);
// 读取文件数据并显示
fp = fopen("data.txt", "r");
printf("\nData in file:\n");
while (!feof(fp)) {
char ch = fgetc(fp);
printf("%c", ch);
}
fclose(fp);
return 0;
}
```
该程序首先打开名为"data.txt"的文件,并使用fwrite()函数将用户输入的字符串存储到文件中。然后,程序使用fputc()函数将用户输入的一个字符存储到文件中。接下来,程序使用fprintf()函数将用户输入的另一个字符串存储到文件中。最后,程序关闭文件并使用fgetc()函数读取文件中的数据,并将其显示在屏幕上。
请注意,该程序使用了scanf()函数来读取用户输入的字符串。scanf()函数的格式字符串中使用了"%[^\n]",这是为了读取整行输入,而不是只读取一个单词或一个字符。该程序还使用了scanf()函数前面的空格,以清除输入缓冲区中的任何换行符。
用C语言编写程序以多种方式将若干行字符存储到一个磁盘文件当中,再将该文件中的数据显示
可以使用以下 C 语言代码将多行字符存储到磁盘文件中:
```c
#include <stdio.h>
int main() {
char* lines[] = {"第一行\n", "第二行\n", "第三行\n"};
FILE* fp = fopen("data.txt", "w");
int i;
for (i = 0; i < 3; i++) {
fputs(lines[i], fp);
}
fclose(fp);
return 0;
}
```
这将创建一个名为 `data.txt` 的文件,并将三行字符写入该文件中。
要在 C 语言中显示该文件中的数据,可以使用以下代码:
```c
#include <stdio.h>
int main() {
char ch;
FILE* fp = fopen("data.txt", "r");
while ((ch = fgetc(fp)) != EOF) {
putchar(ch);
}
fclose(fp);
return 0;
}
```
这将按顺序将文件中的所有字符显示在终端上。如果您想按行显示文件内容,可以使用以下代码:
```c
#include <stdio.h>
int main() {
char line[100];
FILE* fp = fopen("data.txt", "r");
while (fgets(line, 100, fp)) {
printf("%s", line);
}
fclose(fp);
return 0;
}
```
这将按行打印出文件中的所有字符。