Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Linux到Windows 8读取c文件会产生奇怪的格式_C_Windows_Debian_Readfile - Fatal编程技术网

从Linux到Windows 8读取c文件会产生奇怪的格式

从Linux到Windows 8读取c文件会产生奇怪的格式,c,windows,debian,readfile,C,Windows,Debian,Readfile,问题(摘要) 为什么在读取文件时,在捕获文本文件的第一个实际字符之前,前两个字符被打印为问号?然后,每隔一秒钟,fgetc就会出现一个空格,但是.txt文件没有这个空格 例如对于test.txt,格式为 2,123.5,12312.02,12.3,222.35 如果我循环一个fgetc并打印每个字符(要检查代码段,请转到下面的AP1) 为什么会这样?我只想看文件 详细信息 所以我要做的是在Windows8笔记本电脑上读取一个名为test.txt的文件,该笔记本电脑与Debian8计算机联网。我

问题(摘要) 为什么在读取文件时,在捕获文本文件的第一个实际字符之前,前两个字符被打印为问号?然后,每隔一秒钟,
fgetc
就会出现一个空格,但是.txt文件没有这个空格

例如对于test.txt,格式为

2,123.5,12312.02,12.3,222.35
如果我循环一个
fgetc
并打印每个字符(要检查代码段,请转到下面的AP1)

为什么会这样?我只想看文件

详细信息 所以我要做的是在Windows8笔记本电脑上读取一个名为test.txt的文件,该笔记本电脑与Debian8计算机联网。我认为这是一种通过VAR11N-300的点对点连接。c程序在Debian计算机上执行。在后台,SAMBA正在运行(虽然我不确定它是如何工作的,但我只是跟随另一篇文章,它工作得很好,所以我很高兴)来连接两台计算机(如果我说的是smack,请告诉我)

我最初的想法是,我可以使用fscanf来读取文件,因为它的格式是一致的,不幸的是,它不能正常工作,因为它会包含这两个?字符,然后认为它位于文件的末尾。这就是为什么我从AP1中截取的代码中去掉了feof(fptr)。然后我改变了策略,决定使用fgetc检索每个角色

文件格式如下

整数(让我知道有多少个坐标),x1,y1,x2,y2等

如果你还需要知道什么来回答我的问题,请告诉我

AP1代码段

char c;

int i=0;

do

{

  c = fgetc(fptr);

  printf("for i = %d, c = %c\n",i,c);

  i++;

} while(i<10)
charc;
int i=0;
做
{
c=fgetc(fptr);
printf(“对于i=%d,c=%c\n”,i,c);
i++;

}当(i)高亮显示代码并按ctrl+KY键时,您的文件是带有BOM.P.S的UTF-16。如果您的测试文件是使用文本编辑器创建的,请忽略它,并使用将与您的程序交互的软件实际创建的文件。
char c;

int i=0;

do

{

  c = fgetc(fptr);

  printf("for i = %d, c = %c\n",i,c);

  i++;

} while(i<10)