C语言读取一个txt文件并将内容放进栈里进行增删改查后进行输出
时间: 2023-05-12 10:04:36 浏览: 229
可以使用C语言中的文件操作函数来读取txt文件,将内容放进栈里进行增删改查后进行输出。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
typedef struct {
char data[MAX_SIZE];
int top;
} Stack;
void initStack(Stack *s) {
s->top = -1;
}
int isFull(Stack *s) {
return s->top == MAX_SIZE - 1;
}
int isEmpty(Stack *s) {
return s->top == -1;
}
void push(Stack *s, char c) {
if (isFull(s)) {
printf("Stack is full!\n");
return;
}
s->data[++s->top] = c;
}
char pop(Stack *s) {
if (isEmpty(s)) {
printf("Stack is empty!\n");
return '\0';
}
return s->data[s->top--];
}
char peek(Stack *s) {
if (isEmpty(s)) {
printf("Stack is empty!\n");
return '\0';
}
return s->data[s->top];
}
void printStack(Stack *s) {
if (isEmpty(s)) {
printf("Stack is empty!\n");
return;
}
for (int i = s->top; i >= 0; i--) {
printf("%c ", s->data[i]);
}
printf("\n");
}
int main() {
Stack s;
initStack(&s);
FILE *fp;
char filename[] = "test.txt";
char ch;
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
exit(1);
}
while ((ch = fgetc(fp)) != EOF) {
push(&s, ch);
}
fclose(fp);
printf("Stack contents:\n");
printStack(&s);
return 0;
}
```
这段代码可以读取名为test.txt的文件,将文件中的内容逐个字符放进栈里,最后输出栈中的内容。如果需要进行增删改查操作,可以在栈的基础上进行扩展。
阅读全文