我只是有一个关于C的问题。我有一个文件,其文本格式为:
7034327874
5408438437
3267239807
1824566789
我想知道如何读入数据并在另一个文件中打印出来:
703-432-7874
540-843-8437
326-723-9807
182-456-6789
答案 0 :(得分:0)
只需将这些数字视为字符的字符串(每个字符恰好是一个数字)。然后对它们进行字符处理。
例如:
char str[16];
memset (str, 0, sizeof(str));
if (scanf(" %15[0-9]", &str) > 0)
printf("%.3s", str);
应该用0734327574
来输出073
(请注意,您的示例没有说明在这种情况下应该发生的情况,而我正在猜测一种方式如果0734327574
实际上是十进制数字124891004的八进制数字,我的猜测可能是错误的。
其余的是读者的练习。当然,您需要仔细阅读memset,scanf和printf的文档。不要忘记以printf
结尾\n
格式的字符串或在stdout
上调用fflush(通常是行缓冲的)。
请记住,numbers没有数字。只有它们的符号有数字。数字20,用罗马符号 XX ,英语二十,法语 Vent 和十六进制0x14
表示,在八进制024
(甚至24
8 )中,在二进制10100中,因为简单的算术表达式3 * 7-1仍然是相同的数字(是我的手指数的两倍,也是巴黎arrondissements的数)。