使用c语言中的fgets读取windows文本文件,无法读取一行内容,该文本文件内容保护^@等NUL特殊字符
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *filter(char *str)
{
int len, i, j=0;
char content[256];
len = strlen(str);
printf("=>input len:%d\n", len);
for (i=0; i< len; i++) {
//32=>空格
if ((str[i] < '0' || str[i] > 'z') && str[i] != 32) {
continue;
}
content[j]=str[i];
j++;
}
strcpy(str, content);
return str;
}
int main()
{
char *filename = "a.txt"; //"b.txt";
char content[256], *content_cpy;
FILE *fp;
fp = fopen(filename, "r");
while(NULL != fgets(content, 1024, fp)){
content_cpy = filter(content);
printf("=>%s\n", content_origin);
}
fclose(fp);
return 0;
}
文本文件内容类似:
"[^@S^@y^@s^@t^@e^@m^@]^@^M^@"