我有一个包含三行文本的 .txt 文件。
12345
67
890
我正在尝试使用我的 getLine 函数将每一行读入一个字符数组,然后打印出数组:
int main()
{
char line_1[100];
char line_2[100];
char line_3[100];
getLine(line_1,50);
getLine(line_2,50);
getLine(line_3,50);
int c;
int i=0;
while((c=line_1[i++]) != EOF){
putchar(c);
}
i=0;
while((c=line_2[i++]) != EOF){
putchar(c);
}
i=0;
while((c=line_3[i++]) != EOF){
putchar(c);
}
}
然而,这输出
12345
íOÌ@C@À'¡67
N¿'¡890
随着乱码每次都在变化。我的getLine实现如下
int getLine(char line[], int size)//get a line of length size from stdin
{
int i=0;
int c=0;
while(((c=getchar()) !=EOF) && (c!='\n') && i<size)
{
line[i++]=c;
}
if(c=='\n') line[i++] =c;
line[i]='\0';
return i;
}
有谁知道可能出了什么问题?