#include <stdio.h>
int main () {
FILE *fp;
char ch;
char data[100];
int i;
fp = fopen("file.txt","r");
i=0;
while( (ch=fgetc(fp)) != EOF) {
data[i]=ch;
i++;
}
i=0;
while(data[i]) {
printf("%c",data[i]);
i++;
}
return 0;
}
file.txt の内容:
udit@udit-Dabba /opt/lampp/htdocs $ cat file.txt
aGVsbG9teW5hbWVpc2toYW4K
プログラムの出力:
udit@udit-Dabba /opt/lampp/htdocs $ sudo vim test.c
udit@udit-Dabba /opt/lampp/htdocs $ sudo gcc test.c
udit@udit-Dabba /opt/lampp/htdocs $ ./a.out
aGVsbG9teW5hbWVpc2toYW4K
P�udit@udit-Dabba /opt/lampp/htdocs $
配列の出力にこれら 2 つの余分な文字が表示されるのはなぜですか...??? 入力ファイルは、実際には base-64 エンコーディングの結果です。