【发布时间】:2014-04-20 06:46:50
【问题描述】:
第一段代码在输出时将b.txt中的每一行打印在一个新行中,第二段代码是十六进制到十进制的转换。我不擅长编写大程序,因此我将任务拆分并编写较小的程序。我在结合这两个程序时遇到了麻烦。谁能帮忙?
#include <stdio.h>
int main ( int argc, char **argv )
{
FILE *fp = fopen ( "b", "r");
char line[1024];
int ch = getc ( fp );
int index = 0;
while ( ch != EOF ) {
if ( ch != '\n'){
line[index++] = ch;
}else {
line[index] = '\0';
index = 0;
printf ( "%d\n", line );
}
ch = getc ( fp );
}
fclose ( fp );
return 0;
}
这是第二个节目
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int d;
FILE *fp;
FILE *ptr_file;
fp = fopen("normal_data","r"); // read mode
ptr_file =fopen("normal_decimal", "w");
while(fscanf(fp,"%x", &d) == 1)
{
fprintf(ptr_file, "%d /n", d);
}
while( ( d = fgetc(fp) ) != EOF )
fclose(fp);
return 0;
}
【问题讨论】:
-
printf ( "%d\n", line );显示相同的值。什么意思?
标签: c hex type-conversion decimal