易截截图软件、单文件、免安装、纯绿色、仅160KB

从文件读C串的问题

定义了

ifstream fin("in.txt");

比如文件首行是一个数字,第二行是一串字符。

int M;
char* str;

fin>>M;
fin>>str;

M可以读出来,str总是无法读取,就报错了。

如果不读M,一开始就是读字符串的话也可以,但先读一个整型再读字符串就不行了。

为什么呢
str你得先分配内存。

你的str没有申请空间。
试试char* str;
str=new char[100];
fin>>M;
fin>>str;
delete []str;

估计是M后面跟了空格,你只读出来一个空格。。

分配内存
或者你可以用
string str;
fin>>str;

可是我无论是用new char[]还是用malloc分配,运行的时候就会出现

DAMAGE: after Normal block (#157) at 0x00384FB8

如果是没有分配内存的话,为什么一开始就读字符串就可以,而先读整型再读字符串就不行呢


相关问答:

两个C文件的问题

以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......

请C/C++高手进,请教!

功能是实现字符串的翻转,不知道哪里有错误,请指教
#include <iostream>
#include <stdio.h>

using namespace std;
void reverse()
{
char ch;
scanf("%c",ch) ......

C#调用 C DLL问题,懂的来抢分了

//C 接口
extern "C"
{
  TESSDLL_API int __cdecl GetTessText(const char *imagefile, char *text);  
}
//我在C#中声明
//调用C DLL 中的函数
[DllImport("OCRapi.dll&quo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号