你好,我想知道是否有人可以在这里帮助我,我是编程新手,并试图编写一个程序,生成从0开始的电话号码网络提供商从0803开始,总共11个数字。我想生成一些用于市场营销的数字。我得到的错误是,无效的八进制数,但我想让它工作,这样我就不需要自己添加零
1. #include iostream
2. #include fstream
3. using namespace std;
4. int main()
5. {
6. long numb = 08030000000;
7. ofstream generated_numb;
8. for(int i = 08030000000; i < 08040000000; i++)
9. {
10. generated_numb.open("mtn_numbers.txt");
11. generated_numb << i << endl;
12. generated_numb.close();
13. }
14. while(true){}
15. return 0;
16. }
发布于 2012-04-20 11:47:01
出于各种原因,最好将电话号码作为字符串处理。
您遇到的错误是,有几种计算机语言使用前导0
表示八进制(以8为基数)常量。要写入十进制数,请从数字1到9开始。
电话号码通常包含各种标点符号,比如.
,
-
(
和)
。某些电话公司内部号码包含从A
到D
的“数字”。此外,用户交换机内的分机号码通常由x
分隔。
(对第一条评论的回应)
由于您的需求是非常规电话号码处理,因此这样的操作将实现您的意图:
FILE *f = fopen ("mtn_numbers.txt", "w");
if (!f)
fprintf (stderr, "error opening output file\n");
else
{
for (long n = 0; n < 10000000; ++n)
fprintf (f, "0803%07Ld\n", n);
fclose (f);
}
https://stackoverflow.com/questions/10239918
复制相似问题