我正试图将'、'和'\n'放入一个文件中。所有值都是0,除了4、9、14、19、23…我要在其中放入"、"one_answers"\n"
但输出即将到来:
00000000000000000000000000000000000000000000000000000000000000,
我期待的是:
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);
展开循环(即填写i
和g
的值),我们发现您的循环进行以下赋值:
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'
但是您最初只是用0
初始化了100
位置,所以这表明您没有正确地实现您想要做的任何事情。
假设您编写三个字段,如下所示:
0000 0000 0000
然后出于某种原因,您决定要更改分隔符。你可以在第一个分隔符处写一个逗号,然后在第二个分隔符上写一个换行符。。。然后迭代到第二个迭代器,并用另一个逗号替换它。
你看到这张照片怎么了吗?您正在用逗号覆盖要写入的'n'
。也许你想写g = g + 9;
?