在Win2000的DOS命令行中碰到“输入行太长”的问题应该怎么解决?

时间:2021-03-21 17:40:40
在Win2000的DOS命令行中碰到“输入行太长”的问题应该怎么解决?

24 个解决方案

#1


找到command的属性栏(蓝色条上面点右建->properties->layout->screen buffersize,可以更改你想要的长度!

#2


可以事先写成bat文件,

#3


不好意思
写成bat也不行,看来只有用重定向
windows的命令行功能太弱

#4


geesun(发芽的石头) :
properties->layout->screen buffersize更改的好象是屏幕的大小。

#5


lbaby(阳光下对着天使竖起中指.以灌水无言*):
怎么重定向法?

#6


不是屏幕的大小,屏幕的大小是windows size,是缓冲区的大小!我不知道你问的是什么!

#7


既然读入数据有这么多

为什么不用文件操作呢

#8


geesun(发芽的石头) :
我现在有个命令行特长(在一个编译器中用到),在WIN2000下运行时出现命令行太长的报错。

我改了屏幕缓冲器的大小,没有用啊。改的只是这个DOS窗口可以保留多少已经显示的信息。

#9


cnxiaohai(相声独一处):
是一个编译器要用到这么多的参数去编译。

#10


那是你的窗口显示不了还是就是说你输入了那么多参数,然后报错呢?我不知道你的问题到底是什么,能不能在说清楚点!是什么的错误!

#11


geesun(发芽的石头):
错误是:输入行太长。
刚刚统计了一下,那个编译命令有1900个字符!
窗口是显示得了的。是编译命令运行时报错。

#12


错误信息原文是什么?
是系统提示,还是命令提示?
是makefile么?

#13


我觉得可能是你的编译器不支持那么长的输入还是什么的.不清楚!

#14


是啊!把输入和报错的原文写处理,大家才能找思路嘛!

#15


是“出来”,不好意思!^_^

#16


#include <stdio.h>


int main(int argc, char *argv[])
{int i;
 for (i=0;i<argc;i++){ 
printf("%s",argv[i]);
}
  return 0;
}

应该不是dos的问题,以上程序输入参数远大于1900也不会出错。好像最大参数有2000多

#17


楼主厉害,1900字符!!!

#18


老大

你为什么非要用参数啊?

你用命令的时候见过谁有这个多参数啊?

为什么不把这些参数放再一个文件里面

而把这个文件的文件名传给这个程序呢

#19


是1900个字符,还是这么多的参数,参数大概有100个。

#20


是1900个字符,不是这么多的参数,参数大概有100个。

#21


试试看使用Windows的进程创建的函数,可能可以接受更多的参数

#22


DOS命令行输入长度有一个限制的,<255,具体忘记是多少了。
1900肯定超长了。

#23


我曾经和一个同学血拼1w的阶乘,就在VC下造成输出太长的问题。我的环境是Linux。最后,我们在核对答案的时候偶然发现的。开头竟然是0。后来用输出重定向就可以了。
可执行程序 〉 重定向文件名
abc.exe > result.txt//假设abc.exe做的就是1w的阶乘
阶乘结果就保存在result.txt文件中了。

#24


如果是输入参数的话:
abc.exe < input.txt
// input.txt事先输入好参数。

#1


找到command的属性栏(蓝色条上面点右建->properties->layout->screen buffersize,可以更改你想要的长度!

#2


可以事先写成bat文件,

#3


不好意思
写成bat也不行,看来只有用重定向
windows的命令行功能太弱

#4


geesun(发芽的石头) :
properties->layout->screen buffersize更改的好象是屏幕的大小。

#5


lbaby(阳光下对着天使竖起中指.以灌水无言*):
怎么重定向法?

#6


不是屏幕的大小,屏幕的大小是windows size,是缓冲区的大小!我不知道你问的是什么!

#7


既然读入数据有这么多

为什么不用文件操作呢

#8


geesun(发芽的石头) :
我现在有个命令行特长(在一个编译器中用到),在WIN2000下运行时出现命令行太长的报错。

我改了屏幕缓冲器的大小,没有用啊。改的只是这个DOS窗口可以保留多少已经显示的信息。

#9


cnxiaohai(相声独一处):
是一个编译器要用到这么多的参数去编译。

#10


那是你的窗口显示不了还是就是说你输入了那么多参数,然后报错呢?我不知道你的问题到底是什么,能不能在说清楚点!是什么的错误!

#11


geesun(发芽的石头):
错误是:输入行太长。
刚刚统计了一下,那个编译命令有1900个字符!
窗口是显示得了的。是编译命令运行时报错。

#12


错误信息原文是什么?
是系统提示,还是命令提示?
是makefile么?

#13


我觉得可能是你的编译器不支持那么长的输入还是什么的.不清楚!

#14


是啊!把输入和报错的原文写处理,大家才能找思路嘛!

#15


是“出来”,不好意思!^_^

#16


#include <stdio.h>


int main(int argc, char *argv[])
{int i;
 for (i=0;i<argc;i++){ 
printf("%s",argv[i]);
}
  return 0;
}

应该不是dos的问题,以上程序输入参数远大于1900也不会出错。好像最大参数有2000多

#17


楼主厉害,1900字符!!!

#18


老大

你为什么非要用参数啊?

你用命令的时候见过谁有这个多参数啊?

为什么不把这些参数放再一个文件里面

而把这个文件的文件名传给这个程序呢

#19


是1900个字符,还是这么多的参数,参数大概有100个。

#20


是1900个字符,不是这么多的参数,参数大概有100个。

#21


试试看使用Windows的进程创建的函数,可能可以接受更多的参数

#22


DOS命令行输入长度有一个限制的,<255,具体忘记是多少了。
1900肯定超长了。

#23


我曾经和一个同学血拼1w的阶乘,就在VC下造成输出太长的问题。我的环境是Linux。最后,我们在核对答案的时候偶然发现的。开头竟然是0。后来用输出重定向就可以了。
可执行程序 〉 重定向文件名
abc.exe > result.txt//假设abc.exe做的就是1w的阶乘
阶乘结果就保存在result.txt文件中了。

#24


如果是输入参数的话:
abc.exe < input.txt
// input.txt事先输入好参数。