C:在文件中使用CR

时间:2015-11-29 10:59:28

标签: c

我想把','和' \ n'在一个文件中。所有值都是0,除了4,9,14,19,23 ...我要放的是','和' \ n'

但输出结束了:

  

0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,

我期待的是:

0000,0000
0000,0000
0000,0000
0000,0000
0000,0000 

等等

这是我编写的示例代码。 这有什么不对?

for(int i=0; i<100; i++)
{
    finalascii[i ]='0'; 
}

int g=0;

for(int i=0; i<100; i++)
{
    finalascii[i+4 + g]=',';
    finalascii[i+9+g]='\n';
    g=g+4; 
}
fwrite(finalascii,  100, 1, fpw);

2 个答案:

答案 0 :(得分:2)

展开你的循环(即填写ig的值),我们发现你的循环进行了以下分配:

i[ 4] = ',';
i[ 9] = '\n';
i[ 9] = ',';
i[14] = '\n';
i[14] = ',';
i[19] = '\n';
i[19] = ',';
i[24] = '\n';

等等。结果是您构建了字符串0000,0000,0000,0000...。没有'\n',因为您会立即用逗号覆盖每个'\n'

此外,你的循环最终得到:

i[499] = ','
i[504] = '\n'

但您首先只使用100初始化了0个地方,因此这表明您没有正确实施您想要做的任何事情。

答案 1 :(得分:0)

假设你写了三个字段,如下:

0000 0000 0000

...然后由于某种原因你决定要更改分隔符。你可以在第一个分隔符处写一个逗号,然后在第二个分隔符处写一个换行符......然后你迭代到第二个迭代器并用另一个逗号替换它。

你知道这张照片有什么问题吗?你用逗号覆盖了你想写的'\n'。也许你打算写g = g + 9;