我花了数小时试图弄清楚如何从输入文件中读取字符串,处理它并在3个不同的输出文件中编写元音,辅音和数字。这是我已经达到的代码:澄清在读写文件C
void discriminator(input, output1, output2, output3) {
if (string[i] == 'a' || string[i] == 'e' || string[i] == 'i' || string[i] == 'o' || string[i] == 'u' ||) {
fputs(string[i], output1);
i = i + sizeof(string[i]);
}
else if (int string[i]) {
fputs(string[i], output2);
i = i + sizeof(string[i]);
}
else {
fputs(string[i], output3);
i = i + sizeof(string[i]);
}
}
int main() {
FILE *inFile = fopen("input.txt","r");
FILE *outVocali = fopen("outputVocali.txt", "w");
FILE *outNumeri = fopen("outputNumeri.txt", "w");
FILE *outConsonanti = fopen("outputConsonanti.txt", "w");
char *string;
char *fgets(string, EOF, inFile);
int i = 0;
while(fgets(string, EOF, inFile)) {
discriminator(inFile, outVocali, outNumeri, outConsonanti);
}
fclose(inFile);
fclose(outVocali);
fclose(outNumeri);
fclose(outConsonanti);
return 0;
}
这是编译写:
esercizio.c:6:9:错误:使用未声明的标识符 '字串' 的在(string [I] = ='a'|| string [i] =='e'|| string [i] =='i'|| stri ... ^
esercizio.c:6:16:error:use of未申报的标识符'i' if(string [i] =='a'|| string [i] =='e'|| string [i] =='i'|| stri ... ^
esercizio.c:6:29:错误:使用未声明的标识符'字符串' if(string [i] =='a'||字符串[i] =='e'||字符串[i] =='我'|| stri ... ^
esercizio.c:6:36:error:使用未声明的标识符'i' if(string [i] =='a'|| string [i] =='e' || string [i] =='i'|| stri ... ^
esercizio.c:6:49:error:使用未声明的标识符'string' if(string [i] ==' ''string [i] =='e'|| string [i] =='i'|| stri ... ^
esercizio.c:6:56:错误:使用未声明的标识符'i' if(string [i] =='a'|| string [i] =='e'|| string [i] =='i'|| stri ... ^
esercizio.c:6:69:错误:使用未声明的标识符'字符串' ... =='a'||字符串[i] =='e'||字符串[i] =='我'||字符串[i] =='o'|| st ... ^
esercizio.c:6:76:错误:使用未声明的标识符'i' ...'a'||字符串[i] =='e'||字符串[i] =='我'||字符串[i] =='o'|| 〜应变... ^
esercizio.c:6:89:错误:使用未声明的标识符 的 '字串' ... == 'E' ||字符串[i] =='我'||字符串[i] =='o'||字符串[i] =='u'|| ){ ^
esercizio.c:6:96:错误:使用未声明的标识符'i' ...'e'||字符串[i] =='我'||字符串[i] =='o'||字符串[i] =='u'|| ){ ^
esercizio.c:6:109:error:expected expression ...'e'||字符串[i] =='我'||字符串[i] =='o'||字符串[i] =='u'|| ){ ^
esercizio.c:7:15:错误:使用未声明的标识符'字符串' fputs(string [i],output1); ^
esercizio.c:7:22:错误:使用未声明的标识符'i' fputs(string [i],output1); ^
esercizio。c:8:9:错误:使用未声明的标识符'i' i = i + sizeof(string [i]);^
esercizio.c:8:13:error:使用未声明的标识符'i' i = i + sizeof(string [i]); ^
esercizio.c:8:24:error:使用未声明的标识符'string' i = i + sizeof(string [i]); ^
esercizio.c:8:31:error:使用未声明的标识符'i' i = i + sizeof(string [i]); ^
esercizio.c:10:14:错误:预期表达 否则如果(INT串[I]){ ^
esercizio.c:11:15:错误:使用未声明的标识符的'字符串' fputs(string [i],output2); ^
致命错误:发出的错误太多,现在停止[-ferror-limit =] 生成20个错误。
有没有人有任何指针?
你的具体问题是什么? – Gangadhar
当我编译代码时,跳出有关变量的错误。我不知道我是否犯了错误,首先是关于指针,因为在主编译器中调用过程“discriminator”会告诉我字符串和我没有声明变量 –
@RiccardoTosti请阅读任何简单的C教程,然后你可以解决这些错误的最大值 – Gangadhar