我有一个读取输入并将ascii字符打印到文件流的方法。
最初它不需要打印到文件所以我使用putchar并且它工作正常
但是现在我使用putc或fputc它会打印所有其他输入。
示例:
输入=测试
输出= t s
int readFile(char* input,FILE* inputFile)
{
int anyChanges = 1;
int iochar = 0;
int i = 0;
//credit Foster Chapter 2
while (( iochar = getc(inputFile) ) != EOF )
{
//Returns 1 if no changes made, return 0 if any changes have been made.
// printf("\t character --> %c",iochar);
//printf("\nGot to first while loop\n");
if(iochar != '\n')
{
// printf("Got to second loop\n");
int printedColumns =0;
input[i] = iochar;
printf("input array ---> %c\n",input[i]);
i++;
printf("i:%d\n",i);
printf("iochar:%d\n",iochar);
//This if statement checks for normal ascii characters.
//If the output is less than 72 it prints it and increments printedColumns.
if (( ' ' <= iochar ) && ( iochar <= 126 ) )
{
fputc(input[i],inputFile);
}
}
}
}
答案 0 :(得分:0)
你的意思是fputc iochar而不是input [i](因为你已经增加了i)?
答案 1 :(得分:0)
这里有getc&amp; putc你使用相同的Stream pointr即inputFile,你想读写同一个文件??