用C语言. 编写一个程序实现文本文件的显示,通过键盘输入文件名。
时间: 2024-05-06 16:14:49 浏览: 113
以下是一个简单的用C语言编写的程序,可以实现通过键盘输入文件名并在屏幕上显示文本文件内容。
```c
#include <stdio.h>
#define MAX_FILENAME 50
#define MAX_LINE_LENGTH 100
int main() {
char filename[MAX_FILENAME], line[MAX_LINE_LENGTH];
FILE *fp;
printf("请输入文件名:");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
while (fgets(line, MAX_LINE_LENGTH, fp) != NULL) {
printf("%s", line);
}
fclose(fp);
return 0;
}
```
程序中使用了标准库函数`fopen`打开文件,并使用`fgets`函数逐行读取文件内容并在屏幕上输出。如果文件无法打开,则输出错误提示信息。注意,程序中需要定义用于存储文件名和每行文本的字符数组,并为它们分配足够的空间。
相关问题
用c语言编写程序6、 读取一个指定的文本文件,显示在屏幕上,如果有大写字母,则改成小写字母再输出,并统计行数。根据回车符统计文件的行数,要处理的文件名通过键盘输入字符串来指定。
好的,下面是完整的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *fp;
char filename[100];
char line[100];
int line_count = 0;
printf("请输入文件名:");
scanf("%s", filename);
fp = fopen(filename, "r");
if(fp == NULL) {
printf("无法打开文件!");
return 1;
}
while(fgets(line, sizeof(line), fp)) {
line_count++;
// 将大写字母转换为小写字母
for(int i = 0; line[i] != '\0'; i++) {
if(line[i] >= 'A' && line[i] <= 'Z') {
line[i] += 'a' - 'A';
}
}
// 输出转换后的字符串
printf("%s", line);
}
fclose(fp);
printf("文件共有%d行。\n", line_count);
return 0;
}
```
在运行程序时,会提示用户输入文件名,然后打开文件、读取内容、统计行数、关闭文件并输出结果。如果文件不存在或打开失败,程序会输出一个错误提示。
注意,为了保证程序的可靠性,需要对用户输入的文件名进行合法性检查,避免非法字符或路径导致的错误。此外,在打印行数时最好加上换行符,以免输出混乱。
编写C语言程序:从键盘输入一个文件名,然后输入一串字符,以#结束,并将这些字符储存在文件中,形成文本文件,同时将这串字符的个数写在文件尾部
好的,以下是一个简单的 C 语言程序实现你的要求:
```c
#include <stdio.h>
#include <string.h>
int main() {
char filename[100];
printf("请输入文件名:");
scanf("%s", filename);
// 以写入模式打开文件
FILE *fp = fopen(filename, "w");
if (fp == NULL) {
printf("文件打开失败!\n");
return 1;
}
// 从键盘输入一串字符,以#结束
char s[100];
printf("请输入一串字符,以#结束:");
scanf("%s", s);
// 将输入的字符写入文件中
fputs(s, fp);
// 计算输入的字符个数
int count = strlen(s) - 1;
// 将字符个数写入文件尾部
fprintf(fp, "%d", count);
// 关闭文件
fclose(fp);
printf("文件已保存!\n");
return 0;
}
```
在程序中,我们首先从键盘输入一个文件名,然后以写入模式打开文件。接着,程序从键盘输入一串字符,以#结束,并将这些字符写入文件中。在输入结束后,我们计算输入的字符个数,将其写入文件尾部。最后,我们关闭文件并输出提示信息。
需要注意的是,在 C 语言中,字符串和字符数组是不同的概念。因此,我们需要使用字符数组来保存文件名和输入的字符串。另外,我们使用了标准库函数 `strlen` 来计算字符串的长度。
阅读全文