我正在写一个使用system()函数的模糊器,我需要复制:
char a[1100]; /* full of A's with null ending */
成:
char tmp[10000];
我用过:
sprintf(tmp, "%s", a);
当我打印tmp时,没有任何打印。我做错了什么?
答案 0 :(得分:3)
没有看到整件事情,就没有办法说出你做错了什么。
上述sprintf
应该有效,尽管strcpy
会更有意义。我猜sprintf
工作正常。可能是你的a
数组不是“满满的A”,而是一个空字符串(全为零)。或者也许是您的打印要么不起作用,要么无效,但由于某种原因您没有看到输出。
我的赌注是你的a
是一个空字符串。没有A在那里。你在哪里以及如何将这些A放入a
数组?
答案 1 :(得分:3)
输出通常是行缓冲的。如果您要打印的字符串没有换行符,则可能无法在未先调用fflush
的情况下看到它(另请参阅http://c-faq.com/stdio/fflush.html)。但正如AndreyT所说,如果没有看到你的其余代码我们就无法分辨。