【发布时间】:2014-10-20 16:06:09
【问题描述】:
我有一个程序从文件中读取字符串,取出所有大写字母,然后将其存储在文件中。问题是,我不知道如何将它写入文件,除非每次调用函数时都创建一个新文件。
我想我真正要问的是,我怎样才能一遍又一遍地将文件传递给函数?我可以再次将指针参数传递给函数吗?
int main() {
FILE *inputFile;
inputFile = fopen("codedmessage.txt", "r");
char codedMessage[100]; // Will contain - HarjEtvyqaLbLdjlmO
char decodedMessage[100];
fgets(codedMessage, 100, inputFile);
FILE *outputFile;
outputFile = fopen("decodedmessage.txt", "r");
decode(codedMessage, strlen(codedMessage)-1, &decodedMessage);
return 0;
}
// Decodes the message and prints it to file
void decode(char msg[], int n, char dmsg[]) {
if (!n) {
if (isupper(msg[n])) {
printf("%c", msg[n]);
dmsg[n] += msg[n];
}
}
else {
decode(msg, n-1, *dmsg);
if (isupper(msg[n])){
printf("%c", msg[n]);
dmsg[n] += msg[n];
}
}
}
编辑:操作系统通常是 Linux(特别是 Ubuntu 和 CentOS)
【问题讨论】:
-
您认为无法将
FILE *传递给函数是否有特殊原因? -
在哪个操作系统上?
标签: c file pointers recursion parameters