注册 登录
编程论坛 C++教室

【简单问题】几个C++小问题的汇总,重在参与

蚕头燕尾 发布于 2013-08-24 23:44, 1563 次点击
有几个关于C++的问题,都比较简单,就不烦多次发帖了,不管朋友你能回答到什么层次,重在参与~

参与回答就尽量给分,回答时候【最好也带上题目标号】,这样好看一些。

1、怎么输入一个字符串,直接赋值给一个string变量?我只是知道,用cin.get()能输入字符,可是字符串呢?

(注意:我不想使用C里经常用的那种字符数组的样式,我的问题是string类型。)


2、书上说&&    ||     !   这些可以用and     or      not    来代替,我在vs2012里亲测不行,请问:

这是编译器设置问题还是标准支持问题?朋友们用的哪个编译器是支持这种写法的么?


3、Ctrl+Z      F6        cin.clear()        EOF        这三者到底是什么关系?



21 回复
#2
蚕头燕尾2013-08-24 23:45
不必非得每个人每个问题都回答,知道哪个说哪个就OK~

#3
蚕头燕尾2013-08-25 00:14
  不管你理解的有多少,能说多少是多少的丫~~


重在参与~~

#4
yuccn2013-08-25 01:06
重在参与   h
#5
peach54602013-08-25 09:38
参与
#6
lintaoyn2013-08-25 09:41
1.
ifstream ifs("K:\\test.txt");
    string tmp((istream_iterator<char>(ifs)), (istream_iterator<char>()));
    cout << "tmp:" << tmp;
    return 0;


2.编译器开关问题。项目,属性,C/C++,语言,禁用语言扩展,选是。还有 %<% 之类的,那是一些国家的键盘上好像没有某些字符,C++才搞出这些东西。
或者 #include <ciso646> 也可以。
vs2008
3.EOF 不是一个真正的字符,好像是系统生成出来的,比如你读文件,系统可以根据你的读取指针的偏移位置和文件长度判断是否到了文件的尾部了,然后决定是不是要返回eof。 (道听途说的,没有自己研究过。)
cin.clear() 是用来清空流的状态标示。具体百度之。

Ctrl+z ctrl +d 还有什么的,就不是很清楚,好像有很多人因为观察到的现象和书上说的不一样,有很多疑惑。我一直认为和平台相关的,又没有影响到实际的开发,所以没去扯这些。
F6 压根就不知道这是什么东西了。
#7
蚕头燕尾2013-08-25 18:08
嗯,谢谢六楼啦~

还有第三个问题~~

我们老师说的,ctrl+z等价于F6,在很多时候我实践发现确实是这样的。

#8
数字帝国_boy2013-08-25 21:09
学到很多!!
#9
额外覆盖2013-08-25 21:48
cin.getline(字符指针,字符个数N,结束标志符)可以获取字符串
&& 与运算,运算符两边同时为真才为真   ||或运算,运算符一边为真则是真   !非   可以参照数学的与运算和或运算
eof返回值,判断文件是否结束 ,结束返回真值(一般为1)
其他的6楼已经说了
其实这些你一百度就出来了   你先百度 不行再问   自己百度的记忆要深些   还有例子,而且讲解和表达上一般要好些
#10
额外覆盖2013-08-25 21:50
回复 4楼 yuccn
y版不老实啊   人都来了 多打两个字又不是不行

PS:最近不见你散分了啊
#11
lzj125302013-08-25 22:20
重在参与~
#12
蚕头燕尾2013-08-26 01:28
回复 8楼 数字帝国_boy
就是有时候感觉百度到的不全~~

谢谢这位朋友啦~~

#13
rjsp2013-08-26 10:08
1、怎么输入一个字符串,直接赋值给一个string变量?我只是知道,用cin.get()能输入字符,可是字符串呢?
--- cin >> str 即 std::getline( cin, str ) 等等

2、书上说&&    ||     !   这些可以用and     or      not    来代替,我在vs2012里亲测不行,请问:
--- 非C/C++标准,为iso646标准

3、Ctrl+Z      F6        cin.clear()        EOF        这三者到底是什么关系?
--- 前两者是windows console定义的输入结束符
    cin.clear() 是清除cin错误状态
    EOF 是 fgetc等函数在失败状态下的返回值,而并不是说有个字符值为EOF被读入
#14
love云彩2013-08-26 23:01
能来打酱油不
#15
额外覆盖2013-08-27 10:24
回复 14楼 love云彩
打酱油也要给钱啊!
#16
yuccn2013-08-27 11:10
回复 10楼 额外覆盖
我超过100 可用分一定散的
#17
gaojiannew2013-08-27 12:02
我最近也遇到了第一个问题,我在vc里面用cgets函数读取字符串
#18
zklhp2013-08-27 12:09
以下是引用rjsp在2013-8-26 10:08:26的发言:

1、怎么输入一个字符串,直接赋值给一个string变量?我只是知道,用cin.get()能输入字符,可是字符串呢?
--- cin >> str 即 std::getline( cin, str ) 等等

2、书上说&&    ||     !   这些可以用and     or      not    来代替,我在vs2012里亲测不行,请问:
--- 非C/C++标准,为iso646标准

3、Ctrl+Z      F6        cin.clear()        EOF        这三者到底是什么关系?
--- 前两者是windows console定义的输入结束符
    cin.clear() 是清除cin错误状态
    EOF 是 fgetc等函数在失败状态下的返回值,而并不是说有个字符值为EOF被读入

我刚想说最后一个呢 rjsp版主说了 膜拜大神。。
#19
未未来2013-08-27 17:21
1.第一个你的意思是不是这样读
string s;
cin>>s;
#20
蚕头燕尾2013-08-27 17:36
谢谢大家啦
#21
时间流走记忆2013-08-28 13:25
1.定义一个string变量,然后赋值就行,比如string str="student";
不过要记得加上#include<string>
#22
chaorenxx2013-08-28 15:03
回复 21楼 时间流走记忆
怎么输入一个字符串,直接赋值给一个string变量?

我是新手,我是来学习的。你的回复有点水哈哈
1