没有找到任何回答我的问题的东西,所以这里是:
我想将一个整数从一个函数返回到我的 main 以供进一步使用,特别是它是一个add()
从文本文件中的条目创建列表的函数。我要返回的整数称为错误,在函数开头声明为0 ,并在满足条件时更改为1(在我的情况下,如果找到除 az、AZ、- 和 ' ' 以外的任何字符) . 如果满足此条件,我想将错误(作为1)返回给主函数,否则我将其返回为0。然后,在我的 main 中,我有一个 if 语句来检查错误是否为1然后打印一条错误消息并返回 1。这可能吗?我已经尝试了一些东西,但它不起作用,如果我在我的 main 中将错误变量初始化为 0,那么 add 函数不应该在我的错误情况下将其更改为 1 吗?我不想使用全局变量,只想将 add 函数实现到 main 作为最后的手段。
抱歉,如果这完全是胡说八道,我非常初学者。
int add(char line[])
{
struct node *newnode = (struct node *) malloc(sizeof(struct node));
struct node *walker = newnode;
strcpy(newnode->name, line);
int check = 0;
int error = 0;
while(line[check] != '\n')
{
if(line[check] == '!')
{
error = 1;
return error;
}
check++;
}
. //Here is just the creation of the list elements
. //If the functions reaches end, it returns error with 0 as value
.
}
主要的:
int main()
{
FILE *fp;
char line[33];
int error = 0;
fp = fopen("test.txt", "r");
if(!fp)
{
printf("Error.");
return 0;
}
while(fgets(line, 33, fp) != NULL)
{
add(line);
}
fclose(fp);
if(error == 1)
{
printf("error");
return 1;
}
// ...
}
编辑:好的,我已经成功了,因为有几个人基本上对我有正确的解决方案,我想在这里说声谢谢!不知道我是否可以选择多个答案作为正确答案。