我如何使用文本文件中的输入,以便我可以在函数中使用它,而不将字符保存到数组中?当我从文本文件中读取时,将出现1,我将转到" setParameters",在那里我将输入其余的参数。同样在该函数中,我将使用malloc。(如果它没有意义让我知道,以便我可以澄清它,我也是C的新手)
int val;
int choice;
FILE *fpointer;
fpointer = fopen("afile.txt","r");
printf("\nError Detection/Correction");
printf("------------------------------\n");
choice = fscanf(fpointer,"%d",&val);
while(choice != 3)
{
printf("1. Enter Parameters\n2. Enter Hamming Code\n3. Quit\n");
switch(choice)
{
case 1: setParameters();
break;
case 2: checkError();
break;
case 3: printf("*** Program Terminated Normally");
break;
default:
printf("Not a valid entry");
break;
}//end of switch statment
答案 0 :(得分:0)
从C中的文件中获取输入(使用fscanf):
您需要使用fopen
初始化FILE指针,然后使用fopen
扫描每个输入。
FILE *fpointer;
fpointer = fopen("afile.txt","r");
int ret;
while(ret = fscanf(fpointer," %d ",&val))
{
if(ret == EOF)
{
break;
}
else
{
// use val variable here in code which is taken as input from file
}
}
这里,了解ret变量是很重要的:
从C ++中的文件中获取输入(使用fstrean):
从文件中获取输入非常容易。我们只需要更改cin
以从文件流而不是标准输入获取输入。
#include <fstream.h>
void main() {
ifstream cin("afile.txt");
int val;
cin >> val;
// use val as variable in code.
}
这种方法非常简单,但只适用于C ++。它不需要像fscanf那样的文件操作。只是改变cin将完成工作:)