gpt4 book ai didi

c - 文件处理和导出到文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 00:01:03 24 4
gpt4 key购买 nike

我需要你的帮助。我想将我的代码输出导出到一个文本文件中。我真的不知道该如何处理。有人可以帮我解决这个问题吗?非常感谢

这是我的代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct node {
int data;
struct node *next;
};
struct node *top = NULL;

struct node* createNode(int data){
struct node *p = (struct node *) malloc(sizeof (struct node));
p->data = data;
p->next = NULL;
}

void push (int data){
struct node *ptr = createNode(data);
if (top == NULL){
top = ptr;
return;
}
ptr->next = top;
top = ptr;
}

int pop(){
int data;
struct node *temp;
if (top == NULL)
return -1;
data = top->data;
temp = top;
top =top->next;
free(temp);
return (data);
}

int main(){
char str[100];
int i = 0, data = -1, operand1, operand2, result;
printf("Expression in postfix format: ");
fgets(str, 99, stdin);
for (; i < strlen(str); i++){
if (isdigit(str[i])){
data = (data == -1) ? 0 : data;
data = (data * 10) + (str[i] - 48);
continue;
}
if (data != -1){
push(data);
}
if (str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/'){
operand2 = pop();
operand1 = pop();
if (operand1 == -1 || operand2 == -1)
break;

switch (str[i]){
case '+':
result = operand1 + operand2;
push(result);
break;
case '-':
result = operand1 - operand2;
push(result);
break;
case '*':
result = operand1 * operand2;
push(result);
break;
case '/':
result = operand1 / operand2;
push(result);
break;
}
}
data = -1;
}
if (top != NULL && top->next == NULL)
printf("Postfix Evaluation: %d\n", top->data);
else
printf("Invalid Expression!\n");
return 0;

最佳答案

在 main 中你必须打开文件:

FILE *fp;
fp = fopen ("whatever.txt", "w+"); // w+ mean that you open the file
// write and read, but if it
// not exist, will be made.

并将 printf 更改为 fprintf :

fprintf(fp, "%d\n", i); // you must add the name of the file where to
// print your stuff (fp)

main结束时,记得关闭文件连接:

fclose (fp);

关于c - 文件处理和导出到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43338521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com