我正在滚动一个字符文件并将其数据保存到一个数组中。该文件如下所示: http: //pastebin.com/dx4HetT0
我已经删除了标题信息,所以它实际上是一个带有数字的文本文件。我想在我的程序中将这些 char 数字转换为字节,这样我就可以对它们进行一些转换数学运算。
我的代码如下:
#include <stdio.h>
#include <stdlib.h>
#include "../DataProcessing/include/packet.h"
int main ( int argc, char *argv[] )
{
/*
// We assume argv[1] is a filename to open
FILE *file = fopen( argv[1], "r" );
*/
FILE *file = fopen("C:\\log_hex.txt", "r");
/* fopen returns 0, the NULL pointer, on failure */
if ( file == 0 )
{
printf( "Could not open file\n" );
}
else
{
int x;
int count = 0;
int byteArray[99999];
/* read one character at a time from file, stopping at EOF, which
indicates the end of the file. Note that the idiom of "assign
to a variable, check the value" used below works because
the assignment statement evaluates to the value assigned. */
while ( ( x = fgetc( file ) ) != EOF )
{
byteArray[count] = x;
printf( "%c", x );
count++;
}
fclose( file );
getchar();
}
}
byteArray 被字符填充,但不是以我想要的方式填充 - 我得到一个字符 0,表示为数值 53,4 表示为 52,空格表示为 32....我如何读取字符编号,并使该数字成为我的 byteArray 中的 char 值?