佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1151|回复: 6

C++ String的問題

[复制链接]
发表于 4-2-2009 09:14 PM | 显示全部楼层 |阅读模式
以下是我寫的,可是一直有3個Error,改了很久還是沒有頭緒,所以請各位高手幫幫我解決問題
#include <iostream.h>
#include <string>
using std::string;
using namespace std;
void main()
{
string c1, c2, c3;
int q1, q2, q3;
cout << "Code: ";
cin >> c1;
cout << "Quantity: ";
cin >> q1;
cout << "\nCode: ";
cin >> c2;
cout << "Quantity: ";
cin >> q2;
cout << "\nCode: ";
cin >> c3;
cout << "Quantity: ";
cin >> q3;
}
回复

使用道具 举报


ADVERTISEMENT

发表于 4-2-2009 09:42 PM | 显示全部楼层
我不会用C++的
有些东西可能会错
不过以我的经验来讲
你的string放少了一样东西
你试试放一个东西
=" " (在java里头,C++ 麻就不知道了)
终只在string里头是不能没有value
一定要放,不然就放 =" "
你试试吧,要不然就就看它写些什么error 吧
回复

使用道具 举报

发表于 4-2-2009 09:53 PM | 显示全部楼层
为什么不直接讲你遇到什么error....你以为每个人都有义务帮你检查每一行源代码吗?
cin 好像不支持 int 的
回复

使用道具 举报

 楼主| 发表于 4-2-2009 10:04 PM | 显示全部楼层
原帖由 yeenfei 于 4-2-2009 09:53 PM 发表
为什么不直接讲你遇到什么error....你以为每个人都有义务帮你检查每一行源代码吗?
cin 好像不支持 int 的


C:\Users\Administrator\Documents\test_1.cpp(12) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
C:\Users\Administrator\Documents\test_1.cpp(17) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
C:\Users\Administrator\Documents\test_1.cpp(22) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
Error executing cl.exe.
test_1.cpp.obj - 3 error(s), 0 warning(s)

[ 本帖最后由 wJien 于 4-2-2009 10:06 PM 编辑 ]
回复

使用道具 举报

发表于 10-2-2009 09:49 AM | 显示全部楼层

回复 4# wJien 的帖子

因该没什么问题才对, 你用什么 compiler?

试试正规写法。。
  1. #include <iostream>
  2. #include <string>

  3. //using std::string;
  4. //using std::cin;
  5. //using std::cout;

  6. using namespace std;

  7. int main()
  8. {
  9.     string c1, c2, c3;
  10.     int q1, q2, q3;

  11.     cout << "Code: ";
  12.     cin >> c1;
  13.     cout << "Quantity: ";
  14.     cin >> q1;
  15.     cout << "\nCode: ";
  16.     cin >> c2;
  17.     cout << "Quantity: ";
  18.     cin >> q2;
  19.     cout << "\nCode: ";
  20.     cin >> c3;
  21.     cout << "Quantity: ";
  22.     cin >> q3;

  23.     return 0;
  24. }
复制代码
回复

使用道具 举报

发表于 10-2-2009 02:43 PM | 显示全部楼层
如果没记错,cin 是不能接受string/character.你不妨把cin 改成cin.getline() or change string to char*. then you also can consider cin become to put_char() as well.
回复

使用道具 举报

Follow Us
发表于 10-2-2009 05:35 PM | 显示全部楼层

回复 6# 吉打棋粪 的帖子

1. cin 可以接受任何 numeric / character, 但是不能接受whitespace

2. cin.getline() 用于 c-string, 也就是character array, 不是string

3. string 是用 getline( <input stream > , <variable > )
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 18-12-2025 05:44 AM , Processed in 0.131966 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表