我正在读一个整数文件。我想将每行的整数保存到一个新数组。为此,我想检测一个新的文件行。如果有人知道这一点,请帮助。
要读取的文件如下
1 2 4 5 6
7 3 2 5
8 3
9 7 6 2
答案 0 :(得分:8)
答案 1 :(得分:2)
#include <stdio.h>
int main ( int argc, char **argv ) {
FILE *fp = fopen ( "d:\\abc.txt", "r");
char line[1024];
char ch = getc ( fp );
int index = 0;
while ( ch != EOF ) {
if ( ch != '\n'){
line[index++] = ch;
}else {
line[index] = '\0';
index = 0;
printf ( "%s\n", line );
}
ch = getc ( fp );
}
fclose ( fp );
return 0;
}
答案 2 :(得分:0)
答案 3 :(得分:0)
使用getc()
进行此操作很好,但不要忘记getc()
返回类型为int。重新键入char“工作”但你可能有非严格ASCII输入文件的问题,因为EOF = -1 = 0xFF
重新键入char(在大多数C编译器上),即0xFF
字符被检测为{{1} }。
答案 4 :(得分:0)
#include<stdio.h>
void main()
{
FILE *p;
int n;
int s=0;
int a[10];
p=fopen("C:\\numb.txt","r");
if(p!=NULL)
printf("file opened");
while((n=getc(p))!=EOF)
{ if(n!=NULL && n!='\n')
{
printf("\n%d",n);
a[s]=n;
++s;
}
}
fclose(p);
getchar();
}
我不确定int到char,反之亦然,但程序适用于非零数字。我试过visual basic。
答案 5 :(得分:-1)
如果你使用char来读取char,那么用'32'识别空格并用'13'和/或'10'识别'输入'