从命令行读取文件时打印图形字符

时间:2016-10-10 19:27:11

标签: c

我的程序接受宪法,撤销行顺序,并在命令行中以相反的顺序打印宪法。当我把算法反转到单独的函数lineReversal中的行时,唯一打印的是▒▒▒。

int main(){

char * buffer;

char * strings[1000]; 


int arrayCount =0;
int size = 10;

while(!feof(stdin))
{
    buffer= (char*) malloc(size);
    getAline(&buffer, &size); //gets each line from the Constitution

    strings[arrayCount++] = buffer;
}

lineReversal(&strings);

return 0;
}

char lineReversal(char ** stringPtr)
{
char * strings = *stringPtr;

for(int i = 873; i >=0 ; i--) {
    if(strings[i] == '\0'){
        break;
    }
    printf("%s", strings + i);
}

*stringPtr = strings;
return 0;
} 

如果我将该算法放入main()并运行我的程序,这是我的输出:

H▒▒▒▒▒▒▒▒▒▒▒▒Dhave intervened.Representatives, shall take effect, until an election of Representatives shall

预期输出为:

have intervened.

这是我的程序在main中使用算法的样子。

int main(int argc, char ** argv){

char * buffer;

char * strings[1000]; 


int arrayCount =0;
int size = 10;

while(!feof(stdin))
{
    buffer= (char*) malloc(size);
    getAline(&buffer, &size);

    strings[arrayCount++] = buffer;
}

for(int i = 873; i >=0 ; i--)
    {
    if(strings[i] == '\0'){
        break;
    }
    printf("%s", strings[i]);
}

return 0;
}

0 个答案:

没有答案