[英]char array assignment in a loop in C?
因此,我知道这与指针和/或内存分配有关,但是我不确定如何解决它。 由于某些原因,以下代码在应打印文件中的第一个字符(由路径“文件名”指定)时不打印任何内容。
int text[1000] = {};
FILE *fp;
fp = fopen( filename, "r" );
int i = 0;
while(1) {
int c = fgetc(fp);
if ( c==EOF ) {
break;
} else {
text[i] = c;
}
}
printf ( "%c", text[0] );
谢谢!
您不增加i,以至于发生的事情是您总是更新text [0],最后它在text [0]上只有'\\ n'。 因此,它不会打印任何内容。
#include<stdio.h>
int main()
{
char text[1000] = {};
FILE *fp;
fp = fopen(filename, "r" );
int i = 0;
while(1) {
char c = fgetc(fp);
if ( c==EOF ) {
break;
} else {
text[i++] = c;
}
}
printf ( "%c\n", text[0]);
}
这是正确的使用方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.