我是 C 的新手,我很惊讶没有直接的函数来实现我想要的。
我正在执行一个程序,需要将一个整数值写入文件。我有代码片段可以帮助我写入文件:
FILE *in_file = fopen("test.txt", "w");
fprintf(in_file,"Test");
// all done!
fclose(in_file);
Run Code Online (Sandbox Code Playgroud)
此代码能够成功地将字符串写入文件。现在,当我尝试将整数值写入该文件时,它不喜欢它,因为我猜 Fprintf 喜欢只将字符串写入文件:
所以下面的代码不起作用:
int argc = 10;
FILE *in_file = fopen("test.txt", "w");
fprintf(in_file,"entry value: %d",argc);
// all done!
fclose(in_file);
Run Code Online (Sandbox Code Playgroud)
它引发以下错误:
错误:函数'int printf(const char*, ...)'
printf() 的参数太少;
现在,我试图找到如何在 C 中将整数打印到文件中,但没有找到任何直接的答案。所以我有两个选择,要么尝试找到一种方法将这个整数转换为字符串,要么让 Fprintf 将整数值写入文件。
我不确定哪一个是最好的选择。有什么建议?
在 C 中,我尝试在变量后面执行 \\n 。
\n这是我的源代码:
\nint main() {\n int xD = 21;\n printf(xD\\n);\n}\nRun Code Online (Sandbox Code Playgroud)\n我在编译时收到了这个:
\nint main() {\n int xD = 21;\n printf(xD\\n);\n}\nRun Code Online (Sandbox Code Playgroud)\n我该如何修复它?
\n我在处理整数和浮点数时看到打印功能异常。
float y = 9/5;
printf("%f", y);
printf("%f", 9/5);
Run Code Online (Sandbox Code Playgroud)
第一个打印语句输出1.000000,可以接受,而其他输出0.000000。为什么两种情况下的输出都不同?
我一直在玩 printf 方法,但我对这段代码的输出感到困惑:
public static void main(String[] args) {
String[] names = {"Sam, John, George"};
double[] balances = {1000.97,100.00,87.00};
for(int i=0; i<names.length; i++){
System.out.printf("Hello %s this is your balance %.2f\n",names[i],balances[i]);
}
}
The output: Hello Sam, John, George this is your balance 1000.97
Run Code Online (Sandbox Code Playgroud)
我希望每个人在控制台中都有三个打印语句。
感谢您的帮助。
我是 C 新手,我习惯用 python 编写代码,我通常会打印太多变量和文本来测试我的代码,而 printf 语句有时很烦人。我想用 c 编写一个函数,它的工作原理与 python 中的打印函数完全一样。
我在编写函数时面临两个问题。
print(12); print("hello"); print(123.12)不应引发错误。到目前为止我做了什么
我找到了使用 <stdarg.h> 获取 n 个参数的解决方案,但我必须指定第一个参数的数据类型,这不是我想要的。
“通用选择”宏可用于对传递的不同数据类型的参数调用不同的函数,但不确定如何完成,这是我用于参考的链接。
有什么作用
fprintf(fp, "%.7le ", data);
Run Code Online (Sandbox Code Playgroud)
方法?
我不知道“%.7le”是什么意思。
谢谢!
我对C编程很陌生并且有一个疑问......我被要求在C代码的某些部分找到错误...而且这段我有点困惑所以会很感激帮助......
int main(void)
{
int myInt = 5;
printf("myInt = %d");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这段代码没有错.我想知道的是为什么这个陈述打印出一个随机数?
我得到的输出是
myInt = 1252057154
Run Code Online (Sandbox Code Playgroud)
非常感谢帮助...谢谢
我的代码编译,虽然printf没有显示任何内容?
如果我取出格式化程序部分,printf那么它的工作正常.
#include <stdio.h>
size_t MyStrlen(const char *s1)
{
const char *s1Copy = s1;
while (*s1)
{
*s1Copy++;
}
return s1Copy -s1;
}
int main(void)
{
const char str[] = "HELLO";
printf("Length: %d \n", (unsigned int)MyStrlen(str));
return 0;
}
Run Code Online (Sandbox Code Playgroud) 打印const void的值*我需要做什么?
例如:
- (void) printConstVoid:(const void*)value
{
NSLog("%?",value); //or anything else print the value
}
Run Code Online (Sandbox Code Playgroud)
非常感谢.
我写了一个程序
#include <stdio.h>
#include <unistd.h>
int main()
{
int returnVal = fork();
printf("Return Value: %i\n", returnVal);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
当我编译并运行时,我得到以下输出我只给出了一个printf语句然后为什么我看到2个打印.如果我删除了打印件,则不会打印任何内容.
alwin@alwin-desktop:~/Projects/Nix$ ./a.out
Return Value: 5547
Return Value: 0
Run Code Online (Sandbox Code Playgroud)