-2
A
回答
2
我想出了一个适用于我的解决方案。如果您遇到像我对strcpy所做的那样的问题,可以使用size()来计算字符串的大小,然后使用while循环遍历并将其添加到char数组中。这是最终为我工作的:
假设我们有一个char数组data.name [30]的数据结构成员,并且我们在文件中有两个词组成了名字(第一个和最后一个),我们不能用strcpy将它添加到char数组中。我们也不能使用字符串流,因为它丢失了过程中的姓。该文件中的文本包括由分隔符#(有例外,其中以换行符结束的最后一个字段分隔字段名称字段我用这个。
/* we already declared an ifstream inputFile and opened it. */
while(!inputFile.eof())
{
string temp;
getline(inputFile, temp, '#');
int size=temp.size();
int i=0;
while (i<size)
{
data.name[i]=temp[i];
i++;
}
}
data.name[i]=0;
inputFile.close();
5
你的意思是strcpy()
?我知道没有标准函数叫做strcopy()
。另外,如果您使用的是C++,那么如果可能,请使用std::string
,因为这会处理复制和其他字符串操作。
相关问题
- 1. 错误C3861:'ResGain':标识符未找到
- 2. 错误C3861:'getLine':标识符未找到
- 3. 错误C3861:'_tcsdup':标识符未找到
- 4. 错误C3861:'rollDice':标识符未找到
- 5. 错误C3861:'D3DCompileFromFile':找不到标识符
- 6. 错误C3861: 'initNode':标识符找不到
- 7. 错误C3861: 'strcpy_y':标识符找不到
- 8. 错误错误C3861:'cvPyrSegmentation':标识符未找到
- 9. 标识符找不到.C3861
- 10. 错误C3861图形CopyFromScreen:标识符未找到
- 11. OpenCV:错误C3861:'有限':标识符未找到
- 12. mystackwalker.cxx(29):错误C3861:'CaptureStackBackTrace':标识符未找到
- 13. 错误C3861:DrawTarget:找不到标识
- 14. 编译器错误:C3861“GetModuleHandleEx”:标识符找不到
- 15. 错误C3861:'strcasecmp':在Visual Studio 2008中找不到标识符?
- 16. 错误C3861:'ls_file':标识符没有找到
- 17. C++ Visual Studio 2012错误C3861:'_T':找不到标识符?
- 18. 错误C3861: 'cropImage' *:标识符没有找到
- 19. 错误C3861: '一致':标识符找不到
- 20. Metro UI/Store应用程序,ARM和错误C3861:'Sleep':标识符未找到
- 21. 当在MATLAB中创建mex时:错误C3861:'fmax':标识符未找到
- 22. 我面临:错误2错误C3861:“FX”:标识符没有找到
- 23. 未找到sethostname标识符错误
- 24. C3861:找不到标识符;方法返回数组C++
- 25. SHGetFolderPath':标识符未找到
- 26. 标识符未找到?
- 27. 标识符未找到
- 28. '_resetstkoflw':标识符未找到
- 29. 标识符未找到
- 30. 'CloseToolhelp32Snapshot':标识符未找到
是的,这就是我的意思 – user1066524
错误C2664:“。 strcpy':不能将参数2从'std :: string'转换为'const char *' – user1066524
@ user1066524:你应该使用'std :: string' _instead of_' strcpy'和'char *',而不是与之结合使用。 – ildjarn