当前位置: 代码迷 >> C语言 >> [求助]有关输入输出函数的问题
  详细解决方案

[求助]有关输入输出函数的问题

热度:135   发布时间:2006-06-29 12:57:29.0
[求助]有关输入输出函数的问题
在c语言中用gets()和puts()可以输入输出字符串,在c++中输入输出字符串应该怎么写比较好?
搜索更多相关的解决方案: 函数  输出  输入  字符  

----------------解决方案--------------------------------------------------------

无奈。还无接触过。。。。


----------------解决方案--------------------------------------------------------
以下是引用java在线在2006-6-29 12:57:29的发言:
在c语言中用gets()和puts()可以输入输出字符串,在c++中输入输出字符串应该怎么写比较好?

char str[ ]="This is a test string";
cout << str << endl;
其效果与C中
puts( str );
相当。
----------------解决方案--------------------------------------------------------

那如果我要输入一个字符串,是不是
比如:
char str[16];

cin>>str;

就可以了?


----------------解决方案--------------------------------------------------------
#include<iostream.h>
int main()
{
char s[20],t[20];
cout << "input a string: ";
cin >> s >> t;
cout << s << ',' << t << endl;
return 0;
}

运行情况
若输入
this is a pencil
则输出
this,is

跟C语言一样,输入时如果遇见空白符(空格等)就终止了相应数据项的填充。

----------------解决方案--------------------------------------------------------

最近在学汇编和C混合编程,虽然不符合楼主的要求,但还是过来练练手

源代码:
;f.asm
PUBLIC _gets
PUBLIC _puts

.model small
.186
.code
_gets PROC C s: PTR BYTE
cmp s, BYTE PTR 0
je _on_fail1
mov ah, 1
push si
mov si, OFFSET s
_loop1:
int 21h
cmp al, 0dh
je _on_success
mov BYTE PTR [si], al
inc si
jmp _loop1
_on_success:
mov [si], 0
pop si
mov ah, 2
mov dl, 0ah
int 21h
mov ax, 1
ret
_on_fail1:
mov ax, 0
ret
_gets ENDP

_puts PROC C s: PTR BYTE
cmp s, BYTE PTR 0
je _on_fail2
mov ah, 40h
mov bx, 1
mov cx, 0
push si
mov si, OFFSET s
_loop2:
cmp [si], BYTE PTR 0
je _exit_loop
inc si
inc cx
jmp _loop2
_exit_loop:
pop si
mov dx, OFFSET s
int 21h
mov ah, 2
mov dl, 0ah
int 21h
mov ax, 1
ret
_on_fail2:
mov ax, 0
ret
_puts ENDP
END

/* cmain.cpp */
#ifdef __cplusplus
#define EXT extern "C"
#else
#define EXT extern
#endif

EXT int gets(char *s);
EXT int puts(char *s);

int main() {
char s[80];
gets(s);
puts(s);
return 0;
}

用BC或TC建个PRJ,把这两个文件都添加进去,编译就好了。


----------------解决方案--------------------------------------------------------
yuki
----------------解决方案--------------------------------------------------------
  相关解决方案